Low cost high precision GNSS systems and methods

ABSTRACT

Techniques are disclosed for systems and methods to provide relatively accurate position data from a plurality of separate position sensors. A system includes a logic device configured to first and second position sensors each coupled to a mobile structure at respective first and second locations. The logic device is configured to receive position data corresponding to a position of the mobile structure from the position sensors, determine weighting factors corresponding to the received position data, and determine a measured position for the mobile structure based, at least in part, on the received position data and the determined weighting factors.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to and the benefit of U.S. Provisional Patent Application No. 62/582,810 filed Nov. 7, 2017 and entitled “LOW COST HIGH PRECISION GNSS SYSTEMS AND METHODS,” which is incorporated herein by reference in its entirety.

This application is also related to U.S. patent application Ser. No. 15/445,717 filed Feb. 28, 2017 and entitled “ROTATING ATTITUDE HEADING REFERENCE SYSTEMS AND METHODS,” which is a continuation of International Patent Application No. PCT/US2015/047991 filed Sep. 1, 2015 and entitled “ROTATING ATTITUDE HEADING REFERENCE SYSTEMS AND METHODS,” which are incorporated herein by reference in their entirety.

International Patent Application No. PCT/US2015/047991 claims priority to and the benefit of U.S. Provisional Patent Application No. 62/212,955 filed Sep. 1, 2015 and entitled “ROTATING ATTITUDE HEADING REFERENCE SYSTEMS AND METHODS,” U.S. Provisional Patent Application No. 62/099,090 filed Dec. 31, 2014 and entitled “ROTATING ATTITUDE HEADING REFERENCE SYSTEMS AND METHODS,” and U.S. Provisional Patent Application No. 62/044,911 filed Sep. 2, 2014 and entitled “REMOTE SENSING WITH INTEGRATED ORIENTATION AND POSITION SENSORS SYSTEMS AND METHODS,” which are hereby incorporated by reference in their entirety.

U.S. patent application Ser. No. 15/445,717 is also a continuation-in-part of U.S. patent application Ser. No. 14/941,497 filed Nov. 13, 2015 and entitled “AUTOMATIC COMPASS CALIBRATION SYSTEMS AND METHODS,” which is a continuation of International Patent Application No. PCT/US2014/038286 filed May 15, 2014 and entitled “AUTOMATIC COMPASS CALIBRATION SYSTEMS AND METHODS,” which are hereby incorporated by reference in their entirety.

International Patent Application No. PCT/US2014/038286 claims priority to and the benefit of U.S. Provisional Patent Application No. 61/823,903 filed May 15, 2013 and entitled “AUTOMATIC COMPASS CALIBRATION SYSTEMS AND METHODS” and U.S. Provisional Patent Application No. 61/823,906 filed May 15, 2013 and entitled “AUTOMATIC COMPASS CALIBRATION SYSTEMS AND METHODS,” which are all incorporated herein by reference in their entirety.

TECHNICAL FIELD

One or more embodiments of the invention relate generally to position sensing systems and more particularly, for example, to systems and methods for providing absolute positions using multiple global navigation satellite systems.

BACKGROUND

Remote sensing systems, such as radar, sonar, lidar, and/or other ranging sensory systems, are often used to assist in navigation by producing data and/or imagery of the environment surrounding a mobile structure, such as imagery representing above-surface and/or subsurface features critical to navigation of a watercraft over a body of water. Conventional remote sensing systems often include a display configured to provide traditionally recognizable remote sensing imagery to a user.

Remote sensing imagery, and particularly imagery comprising aggregations of remote sensor returns received over time, is typically subject to a variety of measurement errors that reduce the reliability of the imagery. In particular, noise and/or inaccuracies in the measurement of the position of the mobile structure to which the remote sensing systems are coupled can increase the risk of a user misinterpreting the imagery (e.g., relative ranges, depths, sizes, and other critical distances reflected in the imagery). At the same time, consumer market pressures and convenience dictate easier to use systems that are inexpensive and that produce high quality resulting imagery and/or reliable autopiloted navigation of the mobile structure. Thus, there is a need for an improved methodology to provide highly accurate and reliable position measurements of the position of a mobile structure using relatively inexpensive position sensors, particularly in the context of using such measured positions to navigate or autopilot the mobile structure.

SUMMARY

Techniques are disclosed for systems and methods to provide relatively accurate position data from a plurality of separate position sensors located about a mobile structure. A system includes a logic device configured to communicate with position sensors coupled to the mobile structure at different locations. The logic device is configured to receive position data from the position sensors corresponding to a position of the mobile structure from the position sensors, determine weighting factors corresponding to the received position data, and determine a measured position for the mobile structure based, at least in part, on the received position data and the determined weighting factors. A position measurement system may include radar sensor assemblies, sonar sensor assemblies, other remote sensing assemblies, and logic devices in communication with the various assemblies. Each remote sensing assembly may be adapted to be mounted to a mobile structure and/or placed in a body of water, and each remote sensing imagery system may include a separate position sensor. The logic devices may be configured to receive sensor data and generate imagery based on the sensor data. Subsequent user input and/or the sensor data may be used to adjust a steering actuator, a propulsion system thrust, and/or other operational systems of the mobile structure.

In various embodiments, a position measurement system may include one or more orientation sensors, position sensors, gyroscopes, accelerometers, and/or additional sensors, actuators, controllers, user interfaces, mapping systems, and/or other modules mounted to or in proximity to a vehicle. Each component of the system may be implemented with a logic device adapted to form one or more wired and/or wireless communication links for transmitting and/or receiving sensor signals, control signals, or other signals and/or data between the various components.

In one embodiment, a system may include a logic device configured to communicate with first and second position sensors each coupled to a mobile structure at respective first and second locations. The logic device may be configured to receive first and second position data corresponding to a position of the mobile structure from the respective first and second position sensors, determine first and second weighting factors corresponding respectively to the received first and second position data, and determine a measured position for the mobile structure based, at least in part, on the received first and second position data and the determined first and second weighting factors.

In another embodiment, a method may include receiving first and second position data corresponding to a position of a mobile structure from respective first and second position sensors each coupled to the mobile structure at respective first and second locations, determining first and second weighting factors corresponding respectively to the received first and second position data, and determining a measured position for the mobile structure based, at least in part, on the received first and second position data and the determined first and second weighting factors.

In a further embodiment, a method may include negotiating first and second target measurement phases for respective first and second position sensors each coupled to a mobile structure at respective first and second locations, where the first and second target measurement phases are different from each other, receiving first and second streams of position data from the respective first and second position sensors and measured according to the negotiated respective first and second target measurement phases, and determining a series of updated measured positions for the mobile structure based, at least in part, on the received first and second streams of position data, where an update rate corresponding to the series of updated measured positions is greater than a maximum measurement rate corresponding to the first or second position sensor.

The scope of the invention is defined by the claims, which are incorporated into this section by reference. A more complete understanding of embodiments of the invention will be afforded to those skilled in the art, as well as a realization of additional advantages thereof, by a consideration of the following detailed description of one or more embodiments. Reference will be made to the appended sheets of drawings that will first be described briefly.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A illustrates a block diagram of a position measurement system in accordance with an embodiment of the disclosure.

FIG. 1B illustrates a diagram of a position measurement system in accordance with an embodiment of the disclosure.

FIG. 2 illustrates a diagram of a remote sensing system including a position sensor in accordance with an embodiment of the disclosure.

FIG. 3 illustrates a diagram of a remote sensing system including a position sensor in accordance with an embodiment of the disclosure.

FIG. 4 illustrates a graph of time series of position data from individual position sensors and a corresponding time series of measured positions derived from the position data by a position measurement system in accordance with an embodiment of the disclosure.

FIG. 5 illustrates a flow diagram of various operations to operate a position measurement system in accordance with an embodiment of the disclosure.

FIG. 6 illustrates a flow diagram of various operations to operate a position measurement system in accordance with an embodiment of the disclosure.

FIG. 7 illustrates a flow diagram of various operations to determine relative positions of position sensors in a network of positions sensors coupled to a mobile platform in accordance with an embodiment of the disclosure.

Embodiments of the invention and their advantages are best understood by referring to the detailed description that follows. It should be appreciated that like reference numerals are used to identify like elements illustrated in one or more of the figures.

DETAILED DESCRIPTION

In accordance with various embodiments of the present disclosure, a measured position of a mobile structure may be provided by a position measurement system including a plurality of position sensors distributed across the mobile structure. Each position sensor may provide separate position data that may be combined to generate a relatively reliable and accurate measured position of the mobile structure. Such system may also include one or more remote sensing assemblies, orientation sensors, gyroscopes, accelerometers, additional position sensors, and/or speed sensors providing measurements of an orientation, a position, an acceleration, and/or a speed of the remote sensing assemblies and/or a coupled mobile structure. For example, the various sensors may be mounted to or within the mobile structure (e.g., a watercraft, aircraft, motor vehicle, and/or other mobile structure), or may be integrated with the remote sensing assemblies, as described herein. Embodiments of the present disclosure produce measured positions of a coupled mobile structure that can be used to generate remote sensing imagery that is less prone to noise jitter and drift and is thereby more reliable and easier to interpret by consumers than conventional systems and/or methods. Such measured positions and remote sensor data may also be combined to provide reliable navigation or autopiloting for the mobile structure, as described herein.

Generally available position sensors (e.g., GPS, GLONASS, Galileo, COMPASS, IRNSS, and/or other global navigation satellite system (GNSS) receivers) often suffer from noise and error, which manifests itself as an inaccurate position measurement or series of position measurements. Conventional systems are available that include a relatively large number of GNSS antennae (rather than full receivers), but such single-receiver systems are relatively large, complex, and expensive. By contrast, embodiments of the present disclosure employ a network of inexpensive and typically compact GNSS receivers and combines their individual position data outputs to reduce such noise and error significantly. For example, in some embodiments, a position measurement system according to the present disclosure may be configured to combine the position data outputs of multiple position sensors/GNSS receivers according to weighting factors derived from “fix metadata” provided by each position sensor, where more reliable position sensors, as determined by the fix metadata, are “trusted” more than less reliable position sensors. In related embodiments, various extrinsic position data reliability metrics (e.g., derived from a time series of position data provided by the position sensors, and/or from other sensor data) and may be used to determine and/or refine such weighting factors.

Embodiments of the present disclosure employ standalone position sensors/GNSS receivers (and not simply additional separate antennae) in order to ease implementation, increase scalability, and decrease cost (e.g., embodiments can be implemented using relatively inexpensive “off the shelf” hardware, which can more easily be integrated with other systems of the mobile structure, as described herein). In some embodiments, a such network of position sensors can be configured to provide position measurements at a higher output rate than any individual position sensor is capable of, thereby providing more rapid and precise position updates for time sensitive applications, such as high-speed marine navigation.

In various embodiments, the output from multiple position sensors/GNSS receivers can be combined using a weighted average, where the weight is a function of corresponding fix metadata such as position dilution-of-precision, time dilution-of-precision, standard deviation, and/or other fix metadata provided by the individual position sensors, in order to “trust” more reliable GNSS receivers (e.g., as indicated by the fix metadata). For example, a mobile structure with one standalone GNSS and two multi-function displays/user interfaces with built-in position sensors/GNSS receivers will have three separate sources of position data on a shared network (e.g., a CAN bus). A logic device may be configured to receive position data, including corresponding fix metadata, from all three position sensors, and to determine a measured position of the mobile structure by combining the positions provided by each position sensor according to weighting factors implemented as functions of the fix metadata, as described above. The logic device may be configured to use this improved measured position to drive an autopilot, plot a position on a chart, align a radar overlay, or for any other use of GNSS positioning with greater accuracy.

Shown below is a simplified worked example of determining weighting factors from fix metadata and determining a corresponding measured position. While the pseudocode is presented as processing measurements in units of meters, similar processing could be performed on measurements and fix metadata provided according to latitude, longitude, and altitude, and/or other absolute and/or relative position measurement units, as described herein. One embodiment of example pseudocode with example data is as follows:

% Input data for three GNSS receivers [r1 r2 r3]

GPSX=[1 1.4 1.1]; GPSY=[2 2 2.5]; GPSZ=[−1 0 0.5];

% Fix metadata for three GNSS receivers [r1 r2 r3]

HDOP=[0.5 3 2.5]; % Horizontal dilution of precision

VDOP=[6.4 2 5]; % Vertical dilution of precision

Measured position=sum(position*normalized weighting factor)

GPSOut(1)=sum(GPSX.*HDOP)/sum(HDOP);

GPSOut(2)=sum(GPSY.*VDOP)/sum(VDOP);

GPSOut(3)=sum(GPSZ.*HDOP)/sum(HDOP);

% Calculated measured position

Output: GPSOut=1.2417 2.1866 0.1250

As described and shown herein, GPSOut (e.g. the measured position of the mobile structure) is statistically more likely to be the actual position than any position reported by any individual position sensor in the position measurement system.

Noise and errors in the measurements of position sensors/GNSS receivers is not always Gaussian; often such data includes a discrete event where a position sensor will provide very inaccurate but persistent position data, referred to herein as a position data excursion event, which can last for many seconds or minutes of position data in a time series of position data. Embodiments of the present disclosure may be configured to detect such position data excursion events by, for example, comparing the weighted outputs of each position sensor/GNSS receiver to each other, thereby allowing such erroneous position data to be identified and excluded from the position measurement determination in order to provide an accurate measurement position until the event has passed.

In additional embodiments, a position measurement system according to the present disclosure may be configured to synthesize a time series of measured positions at a higher update rate than any one of the constituent standalone position sensors/GNSS receivers. For example, the internal measurement clocks of the individual position sensors may be set so as to be out of phase, such that their individual measurements can be made at different times. Given the opportunity to modify the target measurement phase of each position sensor, a phase-shift of each position sensor's clock could be auto-negotiated to stagger position sensor measurements in order to create a more continuous stream of data.

Including orientation and/or position sensors (OPSs) within a remote sensing assembly reduces or eliminates timing errors due to non-synchronicity of the data from the sensing element and data sent from an external sensor over a network. The reduced error allows a helmsman to rely on distances and relative bearings to a coastline or structure on a seafloor or fish in the water, for example, and the increased accuracy facilitates a number of operational modes, such as closing or avoiding a target, overlaying remote imagery on a chart, tracking other vessels, relating targets to automatic identification system (AIS) information, and/or other operational modes. In addition, an embedded OPS can be implemented at reduced cost as the various types of orientation and position sensors constituting the OPS can share power supplies, processing devices, interfaces, and the enclosure/housing of the associated remote sensing system. Installing separate and external orientation/position sensors/housings requires separate cables and additional installation time.

In some embodiments, a position measurement system according to the present disclosure may include a remote sensing system with an OPS configured to provide orientation data and position data. In such embodiments, the remote sensing imagery system may be configured to determine the track, course over ground (COG), and/or speed over ground (SOG) of the remote sensing system and/or the coupled mobile structure from the position data provided by the OPS. Corresponding headings (e.g., referenced to True North, for example) may be determined from the track, COG, and/or SOG, and the effects of wind and tide can be estimated and displayed or removed from the heading. Set (e.g., due to tide) and leeway (e.g., due to wind) errors may not need to be compensated for because the data provided by the OPS can be referenced to an absolute coordinate frame.

FIG. 1A illustrates a block diagram of position measurement system 100 in accordance with an embodiment of the disclosure. In various embodiments, system 100 may be adapted to measure an orientation, a position, an acceleration, and/or a speed of sonar system 110, radar system 160, user interface 120, and/or mobile structure 101 using any of the various sensors of orientation and/or position sensor (OPS) 190 and/or mobile structure 101. System 100 may then use these measurements to generate accurate image data from sonar data provided by sonar system 110 and/or radar data provided by radar system 160 according to a desired operation of system 100 and/or mobile structure 101. In some embodiments, system 100 may display resulting imagery to a user through user interface 120, and/or use the sonar data, radar data, orientation and/or sensor data, and/or imagery to control operation of mobile structure 101, such as controlling steering actuator 150 and/or propulsion system 170 to steer mobile structure 101 according to a desired heading, such as heading angle 107, for example.

In the embodiment shown in FIG. 1A, system 100 may be implemented to provide orientation and/or position data for a particular type of mobile structure 101, such as a drone, a watercraft, an aircraft, a robot, a vehicle, and/or other types of mobile structures, including any platform designed to move through or under the water, through the air, and/or on a terrestrial surface. In one embodiment, system 100 may include one or more of a sonar system 110, a radar system 160, a user interface 120, a controller 130, an OPS 190 (e.g., including an orientation sensor 140, a gyroscope/accelerometer 144, and/or a global navigation satellite system (GNSS) 146), a speed sensor 142, a steering sensor/actuator 150, a propulsion system 170, and one or more other sensors and/or actuators, such as other modules 180. In some embodiments, one or more of the elements of system 100 may be implemented in a combined housing or structure that can be coupled to mobile structure 101 and/or held or carried by a user of mobile structure 101.

Directions 102, 103, and 104 describe one possible coordinate frame of mobile structure 101 (e.g., for headings or orientations measured by orientation sensor 140 and/or angular velocities and accelerations measured by gyroscope 144 and accelerometer 145). As shown in FIG. 1A, direction 102 illustrates a direction that may be substantially parallel to and/or aligned with a longitudinal axis of mobile structure 101, direction 103 illustrates a direction that may be substantially parallel to and/or aligned with a lateral axis of mobile structure 101, and direction 104 illustrates a direction that may be substantially parallel to and/or aligned with a vertical axis of mobile structure 101, as described herein. For example, a roll component of motion of mobile structure 101 may correspond to rotations around direction 102, a pitch component may correspond to rotations around direction 103, and a yaw component may correspond to rotations around direction 104.

Heading angle 107 may correspond to the angle between a projection of a reference direction 106 (e.g., the local component of the Earth's magnetic field) onto a horizontal plane (e.g., referenced to a gravitationally defined “down” vector local to mobile structure 101) and a projection of direction 102 onto the same horizontal plane. In some embodiments, the projection of reference direction 106 onto a horizontal plane (e.g., referenced to a gravitationally defined “down” vector) may be referred to as Magnetic North. In various embodiments, Magnetic North, True North, a “down” vector, and/or various other directions, positions, and/or fixed or relative reference frames may define an absolute coordinate frame, for example, where directional measurements referenced to an absolute coordinate frame may be referred to as absolute directional measurements (e.g., an “absolute” orientation).

In some embodiments, directional measurements may initially be referenced to a coordinate frame of a particular sensor (e.g., a sonar transducer assembly or other module of sonar system 110, OPS 190, orientation sensor 140, and/or user interface 120, for example) and be transformed (e.g., using parameters for one or more coordinate frame transformations) to be referenced to an absolute coordinate frame and/or a coordinate frame of mobile structure 101. In various embodiments, an absolute coordinate frame may be defined and/or correspond to a coordinate frame with one or more undefined axes, such as a horizontal plane local to mobile structure 101 and referenced to a local gravitational vector but with an unreferenced and/or undefined yaw reference (e.g., no reference to Magnetic North).

Sonar system 110 may be implemented as one or more electrically and/or mechanically coupled controllers, transmitters, receivers, transceivers, signal processing logic devices, various electrical components, transducer elements of various shapes and sizes, multichannel transducers/transducer modules, transducer assemblies, assembly brackets, transom brackets, and/or various actuators adapted to adjust orientations of any of the components of sonar system 110, as described herein.

For example, in various embodiments, sonar system 110 may be implemented and/or operated according to any of the systems and methods described in U.S. Provisional Patent Application 62/005,838 filed May 30, 2014 and entitled “MULTICHANNEL SONAR SYSTEMS AND METHODS”, and/or U.S. Provisional Patent Application 61/943,170 filed Feb. 21, 2014 and entitled “MODULAR SONAR TRANSDUCER ASSEMBLY SYSTEMS AND METHODS”, both of which are hereby incorporated by reference in their entirety. In other embodiments, sonar system 110 may be implemented according to other sonar system arrangements (e.g., remote sensing system arrangements) that can be used to detect objects within a water column and/or a floor of a body of water.

More generally, sonar system 110 may be configured to emit one, multiple, or a series of acoustic beams (e.g., remote sensor beams), receive corresponding acoustic returns (e.g., remote sensor returns), and convert the acoustic returns into sonar data and/or imagery (e.g., remote sensor image data), such as bathymetric data, water depth, water temperature, water column/volume debris, bottom profile, and/or other types of sonar data. Sonar system 110 may be configured to provide such data and/or imagery to user interface 120 for display to a user, for example, or to controller 130 for additional processing, as described herein.

In some embodiments, sonar system 110 may be implemented using a compact design, where multiple sonar transducers, sensors, and/or associated processing devices are located within a single transducer assembly housing that is configured to interface with the rest of system 100 through a single cable providing both power and communications to and from sonar system 110. In some embodiments, sonar system 110 may include orientation and/or position sensors configured to help provide two or three dimensional waypoints, increase sonar data and/or imagery quality, and/or provide highly accurate bathymetry data, as described herein.

For example, fisherman desire highly detailed and accurate information and/or imagery of underwater structure and mid water targets (e.g., fish). Conventional sonar systems can be expensive and bulky and typically cannot be used to provide relatively accurate and/or distortion free underwater views, as described herein. Embodiments of sonar system 110 include low cost single, dual, and/or multichannel sonar systems that can be configured to produce detailed two and three dimensional sonar data and/or imagery. In some embodiments, sonar system 110 may consolidate electronics and transducers into a single waterproof package to reduce size and costs, for example, and may be implemented with a single connection to other devices of system 100 (e.g., via an Ethernet cable with power over Ethernet, an integral power cable, and/or other communication and/or power transmission conduits integrated into a single interface cable).

In various embodiments, sonar system 110 may be configured to provide many different display views from a variety of selectable perspectives, including down imaging, side imaging, and/or three dimensional imaging, using a selection of configurations and/or processing methods, as described herein. In some embodiments, sonar system 110 may be implemented with a single transducer assembly housing incorporating one or two transducers and/or associated electronics. In other embodiments, sonar system 110 may be implemented with a transducer assembly housing incorporating a multichannel transducer and/or associated electronics. In such embodiments, sonar system 110 may be configured to transmit acoustic beams using a transmission channel and/or element of a multichannel transducer, receive acoustic returns using multiple receive channels and/or elements of the multichannel transducer, and to perform beamforming and/or interferometry processing on the acoustic returns to produce two and/or three dimensional sonar imagery. In some embodiments, one or more sonar transmitters of sonar system 110 may be configured to use CHIRP transmissions to improve range resolution and hence reduce ambiguities typically inherent in interferometry processing techniques.

In various embodiments, sonar system 110 may be implemented with its own dedicated OPS 190, which may include various orientation and/or position sensors (e.g., similar to orientation sensor 140, gyroscope/accelerometer 144, and/or GNSS 146) that may be incorporated within the transducer assembly housing to provide three dimensional orientations and/or positions of the transducer assembly and/or transducer(s) for use when processing or post processing sonar data for display. The sensor information can be used to correct for movement of the transducer assembly between ensonifications to provide improved alignment of corresponding acoustic returns/samples, for example, and/or to generate imagery based on the measured orientations and/or positions of the transducer assembly. In other embodiments, an external orientation and/or position sensor can be used alone or in combination with an integrated sensor or sensors.

In embodiments where sonar system 110 is implemented with a position sensor, sonar system 110 may be configured to provide a variety of sonar data and/or imagery enhancements. For example, sonar system 110 may be configured to provide accurate positioning of sonar data and/or user-defined waypoints remote from mobile system 101. Similarly, sonar system 110 may be configured to provide accurate two and/or three dimensional aggregation and/or display of a series of sonar data; without position data, a sonar system typically assumes a straight track, which can cause image artifacts and/or other inaccuracies in corresponding sonar data and/or imagery. Additionally, when implemented with a position sensor and/or interfaced with a remote but relatively fixed position sensor (e.g., GNSS 146), sonar system 110 may be configured to generate accurate and detailed bathymetric views of a floor of a body of water.

In embodiments where sonar system 110 is implemented with an orientation and/or position sensor, sonar system 110 may be configured to store such location/position information along with other sensor information (acoustic returns, temperature measurements, text descriptions, water depth, altitude, mobile structure speed, and/or other sensor and/or control information) available to system 100. In some embodiments, controller 130 may be configured to generate a look up table so that a user can select desired configurations of sonar system 110 for a particular location or to coordinate with some other sensor information. Alternatively, an automated adjustment algorithm can be used to select optimum configurations based on the sensor information.

For example, in one embodiment, mobile structure 101 may be located in an area identified on a chart using position data, a user may have selected a user setting for a configuration of sonar system 110, and controller 130 may be configured to control an actuator and/or otherwise implement the configuration for sonar system 110 (e.g., to set a particular orientation). In still another embodiment, controller 130 may be configured to receive orientation measurements for mobile structure 101. In such embodiment, controller 130 may be configured to control the actuators associated with the transducer assembly to maintain its orientation relative to, for example, the mobile structure and/or the water surface, and thus improve the displayed sonar images (e.g., by ensuring consistently oriented acoustic beams and/or proper registration of a series of acoustic returns). In various embodiments, controller 130 may be configured to control steering sensor/actuator 150 and/or propulsion system 170 to adjust a position and/or orientation of mobile structure 101 to help ensure proper registration of a series of acoustic returns, sonar data, and/or sonar imagery.

Although FIG. 1A shows various sensors and/or other components of system 100 separate from sonar system 110, in other embodiments, any one or combination of sensors and components of system 100 may be integrated with a sonar sensor assembly, an actuator, a transducer module, and/or other components of sonar system 110. For example, OPS 190 may be integrated with a transducer module of sonar system 110 and be configured to provide measurements of an absolute and/or relative orientation (e.g., a roll, pitch, and/or yaw) of the transducer module to controller 130 and/or user interface 120, both of which may also be integrated with sonar system 110.

Radar system 160 may be implemented as one or more electrically and/or mechanically coupled controllers, transmitters, receivers, transceivers, signal processing logic devices, various electrical components, antenna elements of various shapes and sizes, multichannel antennas/antenna modules, radar assemblies/sensor assemblies, assembly brackets, mast brackets, and/or various actuators adapted to adjust orientations of any of the components of radar system 160, as described herein. For example, in various embodiments, radar system 160 may be implemented according to various radar system arrangements (e.g., remote sensing system arrangements) that can be used to detect features of and objects on or above a terrestrial surface or a surface of a body of water.

More generally, radar system 160 may be configured to emit one, multiple, or a series of radar beams (e.g., remote sensor beams), receive corresponding radar returns (e.g., remote sensor returns), and convert the radar returns into radar data and/or imagery (e.g., remote sensor image data), such as one or more intensity plots and/or aggregation of intensity plots indicating a relative position, orientation, and/or other characteristics of structures, weather phenomena, waves, other mobile structures, surface boundaries, and/or other objects reflecting the radar beams back at radar system 160. Sonar system 110 may be configured to provide such data and/or imagery to user interface 120 for display to a user, for example, or to controller 130 for additional processing, as described herein. Moreover, such data may be used to generate one or more charts corresponding to AIS data, ARPA data, MARPA data, and or one or more other target tracking and/or identification protocols.

In some embodiments, radar system 160 may be implemented using a compact design, where multiple radar antennas, sensors, and/or associated processing devices are located within a single radar sensor assembly housing that is configured to interface with the rest of system 100 through a single cable providing both power and communications to and from radar system 160. In some embodiments, radar system 160 may include orientation and/or position sensors (e.g., OPS 190) configured to help provide two or three dimensional waypoints, increase radar data and/or imagery quality, and/or provide highly accurate radar image data, as described herein.

For example, fisherman desire highly detailed and accurate information and/or imagery of local and remote structures and other watercraft. Conventional radar systems can be expensive and bulky and typically cannot be used to provide relatively accurate and/or distortion free radar image data, as described herein. Embodiments of radar system 160 include low cost single, dual, and/or multichannel (e.g., synthetic aperture) radar systems that can be configured to produce detailed two and three dimensional radar data and/or imagery. In some embodiments, radar system 160 may consolidate electronics and transducers into a single waterproof package to reduce size and costs, for example, and may be implemented with a single connection to other devices of system 100 (e.g., via an Ethernet cable with power over Ethernet, an integral power cable, and/or other communication and/or power transmission conduits integrated into a single interface cable).

In various embodiments, radar system 160 may be implemented with its own dedicated OPS 190, which may include various orientation and/or position sensors (e.g., similar to orientation sensor 140, gyroscope/accelerometer 144, and/or GNSS 146) that may be incorporated within the radar sensor assembly housing to provide three dimensional orientations and/or positions of the radar sensor assembly and/or antenna(s) for use when processing or post processing radar data for display. The sensor information can be used to correct for movement of the radar sensor assembly between beam emissions to provide improved alignment of corresponding radar returns/samples, for example, and/or to generate imagery based on the measured orientations and/or positions of the radar sensor assembly/antenna. In other embodiments, an external orientation and/or position sensor can be used alone or in combination with an integrated sensor or sensors.

In embodiments where radar system 160 is implemented with a position sensor, radar system 160 may be configured to provide a variety of radar data and/or imagery enhancements. For example, radar system 160 may be configured to provide accurate positioning of radar data and/or user-defined waypoints remote from mobile system 101. Similarly, radar system 160 may be configured to provide accurate two and/or three dimensional aggregation and/or display of a series of radar data; without either orientation data or position data to help determine a track or heading, a radar system typically assumes a straight track, which can cause image artifacts and/or other inaccuracies in corresponding radar data and/or imagery. Additionally, when implemented with a position sensor, radar system 160 may be configured to generate accurate and detailed intensity plots of objects on a surface of a body of water without access to a magnetometer.

In embodiments where radar system 160 is implemented with an orientation and/or position sensor, radar system 160 may be configured to store such location/position information along with other sensor information (radar returns, temperature measurements, text descriptions, altitude, mobile structure speed, and/or other sensor and/or control information) available to system 100. In some embodiments, controller 130 may be configured to generate a look up table so that a user can select desired configurations of radar system 160 for a particular location or to coordinate with some other sensor information. Alternatively, an automated adjustment algorithm can be used to select optimum configurations based on the sensor information.

For example, in one embodiment, mobile structure 101 may be located in an area identified on a chart using position data, a user may have selected a user setting for a configuration of radar system 160, and controller 130 may be configured to control an actuator and/or otherwise implement the configuration for radar system 160 (e.g., to set a particular orientation or rotation rate). In still another embodiment, controller 130 may be configured to receive orientation measurements for mobile structure 101. In such embodiment, controller 130 may be configured to control the actuators associated with the radar sensor assembly to maintain its orientation relative to, for example, the mobile structure and/or the water surface, and thus improve the displayed sonar images (e.g., by ensuring consistently oriented radar beams and/or proper registration of a series of radar returns). In various embodiments, controller 130 may be configured to control steering sensor/actuator 150 and/or propulsion system 170 to adjust a position and/or orientation of mobile structure 101 to help ensure proper registration of a series of radar returns, radar data, and/or radar imagery.

Although FIG. 1A shows various sensors and/or other components of system 100 separate from radar system 160, in other embodiments, any one or combination of sensors and components of system 100 may be integrated with a radar sensor assembly, an actuator, a transducer module, and/or other components of radar system 160. For example, OPS 190 may be integrated with an antenna platform of sonar system 110 and be configured to provide measurements of an absolute and/or relative orientation (e.g., a roll, pitch, and/or yaw) of the antenna to controller 130 and/or user interface 120, both of which may also be integrated with radar system 160.

User interface 120 may be implemented as a display, a touch screen, a keyboard, a mouse, a joystick, a knob, a steering wheel, a ship's wheel or helm, a yoke, and/or any other device capable of accepting user input and/or providing feedback to a user. In various embodiments, user interface 120 may be adapted to provide user input (e.g., as a type of signal and/or sensor information) to other devices of system 100, such as controller 130. User interface 120 may also be implemented with one or more logic devices that may be adapted to execute instructions, such as software instructions, implementing any of the various processes and/or methods described herein. For example, user interface 120 may be adapted to form communication links, transmit and/or receive communications (e.g., sensor signals, control signals, sensor information, user input, and/or other information), determine various coordinate frames and/or orientations, determine parameters for one or more coordinate frame transformations, and/or perform coordinate frame transformations, for example, or to perform various other processes and/or methods.

In various embodiments, user interface 120 may be adapted to accept user input, for example, to form a communication link, to select a particular wireless networking protocol and/or parameters for a particular wireless networking protocol and/or wireless link (e.g., a password, an encryption key, a MAC address, a device identification number, a device operation profile, parameters for operation of a device, and/or other parameters), to select a method of processing sensor signals to determine sensor information, to adjust a position and/or orientation of an articulated sensor, and/or to otherwise facilitate operation of system 100 and devices within system 100. Once user interface 120 accepts a user input, the user input may be transmitted to other devices of system 100 over one or more communication links.

In one embodiment, user interface 120 may be adapted to receive a sensor or control signal (e.g., from orientation sensor 140 and/or steering sensor/actuator 150) over communication links formed by one or more associated logic devices, for example, and display sensor and/or other information corresponding to the received sensor or control signal to a user. In related embodiments, user interface 120 may be adapted to process sensor and/or control signals to determine sensor and/or other information. For example, a sensor signal may include an orientation, an angular velocity, an acceleration, a speed, and/or a position of mobile structure 101. In such embodiment, user interface 120 may be adapted to process the sensor signals to determine sensor information indicating an estimated and/or absolute roll, pitch, and/or yaw (attitude and/or rate), and/or a position or series of positions of sonar system 110, radar system 160, and/or mobile structure 101, for example, and display the sensor information as feedback to a user. In one embodiment, user interface 120 may be adapted to display a time series of various sensor information and/or other parameters as part of or overlaid on a graph or map, which may be referenced to a position and/or orientation of mobile structure 101. For example, user interface 120 may be adapted to display a time series of positions, headings, and/or orientations of mobile structure 101 and/or other elements of system 100 (e.g., a transducer assembly and/or module of sonar system 110, or an antenna or radar sensor assembly of radar system 160) overlaid on a geographical map, which may include one or more graphs indicating a corresponding time series of actuator control signals, sensor information, and/or other sensor and/or control signals, including sonar and/or radar image data.

In some embodiments, user interface 120 may be adapted to accept user input including a user-defined target heading, route (e.g., track for radar system 160), and/or orientation for a transducer module, for example, and to generate control signals for steering sensor/actuator 150 and/or propulsion system 170 to cause mobile structure 101 to move according to the target heading, route, and/or orientation. In further embodiments, user interface 120 may be adapted to accept user input including a user-defined target attitude/absolute angular frequency for an actuated device (e.g., sonar system 110, radar system 160) coupled to mobile structure 101, for example, and to generate control signals for adjusting an orientation or rotation of the actuated device according to the target attitude/angular frequency. More generally, user interface 120 may be adapted to display sensor information to a user, for example, and/or to transmit sensor information and/or user input to other user interfaces, sensors, or controllers of system 100, for instance, for display and/or further processing.

In various embodiments, user interface 120 may be integrated with one or more sensors (e.g., imaging modules, position and/or orientation sensors, other sensors) and/or be portable (e.g., such as a portable touch display or smart phone, for example, or a wearable user interface) to facilitate user interaction with various systems of mobile structure 101. For example, in one embodiment, user interface 120 may include an embodiment of OPS 190 and/or one or more elements of OPS 190, including an embodiment of GNSS 146.

Controller 130 may be implemented as any appropriate logic device (e.g., processing device, microcontroller, processor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), memory storage device, memory reader, or other device or combinations of devices) that may be adapted to execute, store, and/or receive appropriate instructions, such as software instructions implementing a control loop for controlling various operations of sonar system 110, radar system 160, steering sensor/actuator 150, mobile structure 101, and/or system 100, for example. Such software instructions may also implement methods for processing sensor signals, determining sensor information, providing user feedback (e.g., through user interface 120), querying devices for operational parameters, selecting operational parameters for devices, or performing any of the various operations described herein (e.g., operations performed by logic devices of various devices of system 100).

In addition, a machine readable medium may be provided for storing non-transitory instructions for loading into and execution by controller 130. In these and other embodiments, controller 130 may be implemented with other components where appropriate, such as volatile memory, non-volatile memory, one or more interfaces, and/or various analog and/or digital components for interfacing with devices of system 100. For example, controller 130 may be adapted to store sensor signals, sensor information, parameters for coordinate frame transformations, calibration parameters, sets of calibration points, and/or other operational parameters, over time, for example, and provide such stored data to a user using user interface 120. In some embodiments, controller 130 may be integrated with one or more user interfaces (e.g., user interface 120), and, in one embodiment, may share a communication module or modules. As noted herein, controller 130 may be adapted to execute one or more control loops for actuated device control, steering control (e.g., using steering sensor/actuator 150) and/or performing other various operations of mobile structure 101 and/or system 100. In some embodiments, a control loop may include processing sensor signals and/or sensor information in order to control one or more operations of sonar system 110, radar system 160, mobile structure 101, and/or system 100.

OPS 190 may be implemented as an integrated selection of orientation and/or position sensors (e.g., orientation sensor 140, accelerometer/gyroscope 144, GNSS 146) that is configured to provide orientation and/or position data in relation to one or more elements of system 100. For example, embodiments of OPS 190 may be integrated with mobile structure 101, sonar system 110, and/or radar system 160 and be configured to provide orientation and/or position data corresponding to a center of mass of mobile structure 101, a sonar transducer of sonar system 110, and/or a radar antenna of radar system 160. Such measurements may be referenced to an absolute coordinate frame, for example, or may be referenced to a coordinate frame of OPS 190 and/or any one of the individual sensors integrated with OPS 190.

More generally, OPS 190 provides a single, relatively compact integrated device that can be replicated throughout various elements of system 100, which in some embodiments may include a single/simplified interface for data and/or power. In various embodiments, the coordinate frames for one or more of the orientation and/or position sensors integrated into OPS 190 may be referenced to each other (e.g., to a single coordinate frame for OPS 190), such as at time of manufacture, to reduce or eliminate a need to determine coordinate frame transformations to combine data from multiple sensors of OPS 190 during operation of system 100. In various embodiments, system 100 may include multiple embodiments of OPS 190 and/or elements of OPS 190, including multiple embodiments of GNSS 146, which may be coupled to mobile structure 101 at different locations.

Orientation sensor 140 may be implemented as one or more of a compass, float, accelerometer, magnetometer, and/or other digital or analog device capable of measuring an orientation of mobile structure 101 (e.g., magnitude and direction of roll, pitch, and/or yaw, relative to one or more reference orientations such as gravity and/or Magnetic North) and providing such measurements as sensor signals that may be communicated to various devices of system 100. In some embodiments, orientation sensor 140 may be adapted to provide heading measurements for mobile structure 101. In other embodiments, orientation sensor 140 may be adapted to provide roll, pitch, and/or yaw rates for mobile structure 101 (e.g., using a time series of orientation measurements). Orientation sensor 140 may be positioned and/or adapted to make orientation measurements in relation to a particular coordinate frame of mobile structure 101, for example. In various embodiments, orientation sensor 140 may be implemented and/or operated according to any of the systems and methods described in International Application PCT/US14/38286 filed May 15, 2014 and entitled “AUTOMATIC COMPASS CALIBRATION SYSTEMS AND METHODS”, which is hereby incorporated by reference in its entirety.

Speed sensor 142 may be implemented as an electronic pitot tube, metered gear or wheel, water speed sensor, wind speed sensor, a wind velocity sensor (e.g., direction and magnitude) and/or other device capable of measuring or determining a linear speed of mobile structure 101 (e.g., in a surrounding medium and/or aligned with a longitudinal axis of mobile structure 101) and providing such measurements as sensor signals that may be communicated to various devices of system 100. In some embodiments, speed sensor 142 may be adapted to provide a velocity of a surrounding medium relative to sensor 142 and/or mobile structure 101.

Gyroscope/accelerometer 144 may be implemented as one or more electronic sextants, semiconductor devices, integrated chips, accelerometer sensors, accelerometer sensor systems, or other devices capable of measuring angular velocities/accelerations and/or linear accelerations (e.g., direction and magnitude) of mobile structure 101 and providing such measurements as sensor signals that may be communicated to other devices of system 100 (e.g., user interface 120, controller 130). Gyroscope/accelerometer 144 may be positioned and/or adapted to make such measurements in relation to a particular coordinate frame of mobile structure 101, for example. In various embodiments, gyroscope/accelerometer 144 may be implemented in a common housing and/or module to ensure a common reference frame or a known transformation between reference frames.

GNSS 146 may be implemented as a global navigation satellite system receiver and/or other device capable of determining absolute and/or relative position of mobile structure 101 (e.g., or an element of mobile structure 101, such as sonar system 110 radar system 160, and/or user interface 120) based on wireless signals received from space-born and/or terrestrial sources, for example, and capable of providing such measurements as sensor signals that may be communicated to various devices of system 100. More generally, GNSS 146 may be implemented to any one or combination of a number of different GNSSs. In some embodiments, GNSS 146 may be used to determine a velocity, speed, COG, SOG, track, and/or yaw rate of mobile structure 101 (e.g., using a time series of position measurements), such as an absolute velocity and/or a yaw component of an angular velocity of mobile structure 101. In various embodiments, one or more logic devices of system 100 may be adapted to determine a calculated speed of mobile structure 101 and/or a computed yaw component of the angular velocity from such sensor information. In various embodiments, system 100 may include multiple embodiments of GNSS 146 (e.g., position sensors 146) each coupled to mobile structure 101 at different locations and/or integrated with different elements of system 100, as described herein.

Steering sensor/actuator 150 may be adapted to physically adjust a heading of mobile structure 101 according to one or more control signals, user inputs, and/or stabilized attitude estimates provided by a logic device of system 100, such as controller 130. Steering sensor/actuator 150 may include one or more actuators and control surfaces (e.g., a rudder or other type of steering or trim mechanism) of mobile structure 101, and may be adapted to physically adjust the control surfaces to a variety of positive and/or negative steering angles/positions.

Propulsion system 170 may be implemented as a propeller, turbine, or other thrust-based propulsion system, a mechanical wheeled and/or tracked propulsion system, a sail-based propulsion system, and/or other types of propulsion systems that can be used to provide motive force to mobile structure 101. In some embodiments, propulsion system 170 may be non-articulated, for example, such that the direction of motive force and/or thrust generated by propulsion system 170 is fixed relative to a coordinate frame of mobile structure 101. Non-limiting examples of non-articulated propulsion systems include, for example, an inboard motor for a watercraft with a fixed thrust vector, for example, or a fixed aircraft propeller or turbine. In other embodiments, propulsion system 170 may be articulated, for example, and may be coupled to and/or integrated with steering sensor/actuator 150, for example, such that the direction of generated motive force and/or thrust is variable relative to a coordinate frame of mobile structure 101. Non-limiting examples of articulated propulsion systems include, for example, an outboard motor for a watercraft, an inboard motor for a watercraft with a variable thrust vector/port (e.g., used to steer the watercraft), a sail, or an aircraft propeller or turbine with a variable thrust vector, for example.

Other modules 180 may include other and/or additional sensors, actuators, communications modules/nodes, and/or user interface devices used to provide additional environmental information of mobile structure 101, for example. In some embodiments, other modules 180 may include a humidity sensor, a wind and/or water temperature sensor, a barometer, a radar system, a visible spectrum camera, an infrared camera, and/or other environmental sensors providing measurements and/or other sensor signals that can be displayed to a user and/or used by other devices of system 100 (e.g., controller 130) to provide operational control of mobile structure 101 and/or system 100 that compensates for environmental conditions, such as wind speed and/or direction, swell speed, amplitude, and/or direction, and/or an object in a path of mobile structure 101, for example.

In other embodiments, other modules 180 may include one or more actuated devices (e.g., spotlights, infrared illuminators, cameras, radars, sonars, and/or other actuated devices) coupled to mobile structure 101, where each actuated device includes one or more actuators adapted to adjust an orientation of the device, relative to mobile structure 101, in response to one or more control signals (e.g., provided by controller 130). Other modules 180 may include a sensing element angle sensor, for example, which may be physically coupled to a radar sensor assembly housing of radar system 160 and be configured to measure an angle between an orientation of an antenna/sensing element and a longitudinal axis of the housing and/or mobile structure 101. Other modules 180 may also include a rotating antenna platform and/or corresponding platform actuator for radar system 160. In some embodiments, other modules 180 may include one or more Helmholtz coils integrated with OPS 190, for example, and be configured to selectively cancel out one or more components of the Earth's magnetic field.

In general, each of the elements of system 100 may be implemented with any appropriate logic device (e.g., processing device, microcontroller, processor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), memory storage device, memory reader, or other device or combinations of devices) that may be adapted to execute, store, and/or receive appropriate instructions, such as software instructions implementing a method for providing sonar data and/or imagery, for example, or for transmitting and/or receiving communications, such as sensor signals, sensor information, and/or control signals, between one or more devices of system 100. In one embodiment, such method may include instructions to receive an orientation, acceleration, position, and/or speed of mobile structure 101 and/or sonar system 110 from various sensors, to determine a transducer orientation adjustment (e.g., relative to a desired transducer orientation) from the sensor signals, and/or to control an actuator to adjust a transducer orientation accordingly, for example, as described herein. In a further embodiment, such method may include instructions for forming one or more communication links between various devices of system 100.

In addition, one or more machine readable mediums may be provided for storing non-transitory instructions for loading into and execution by any logic device implemented with one or more of the devices of system 100. In these and other embodiments, the logic devices may be implemented with other components where appropriate, such as volatile memory, non-volatile memory, and/or one or more interfaces (e.g., inter-integrated circuit (I2C) interfaces, mobile industry processor interfaces (MIPI), joint test action group (JTAG) interfaces (e.g., IEEE 1149.1 standard test access port and boundary-scan architecture), and/or other interfaces, such as an interface for one or more antennas, or an interface for a particular type of sensor).

Each of the elements of system 100 may be implemented with one or more amplifiers, modulators, phase adjusters, beamforming components, digital to analog converters (DACs), analog to digital converters (ADCs), various interfaces, antennas, transducers, and/or other analog and/or digital components enabling each of the devices of system 100 to transmit and/or receive signals, for example, in order to facilitate wired and/or wireless communications between one or more devices of system 100. Such components may be integrated with a corresponding element of system 100, for example. In some embodiments, the same or similar components may be used to perform one or more sensor measurements, as described herein.

For example, the same or similar components may be used to create an acoustic pulse (e.g., a transmission control signal and/or a digital shaping control signal), convert the acoustic pulse to an excitation signal (e.g., a shaped or unshaped transmission signal) and transmit it to a sonar transducer element to produce an acoustic beam, receive an acoustic return (e.g., a sound wave received by the sonar transducer element and/or corresponding electrical signals from the sonar transducer element), convert the acoustic return to acoustic return data, and/or store sensor information, configuration data, and/or other data corresponding to operation of a sonar system, as described herein. Similarly, the same or similar components may be used to create a radar pulse (e.g., a transmission control signal and/or a digital shaping control signal), convert the radar pulse to an excitation signal (e.g., a shaped or unshaped transmission signal) and transmit it to a radar antenna to produce a radar beam, receive a radar return (e.g., an electromagnetic wave received by the radar antenna and/or corresponding electrical signals from the radar antenna), convert the radar return to radar return data, and/or store sensor information, configuration data, and/or other data corresponding to operation of a radar system, as described herein.

Sensor signals, control signals, and other signals may be communicated among elements of system 100 using a variety of wired and/or wireless communication techniques, including voltage signaling, Ethernet, WiFi, Bluetooth, Zigbee, Xbee, Micronet, or other medium and/or short range wired and/or wireless networking protocols and/or implementations, for example. In such embodiments, each element of system 100 may include one or more modules supporting wired, wireless, and/or a combination of wired and wireless communication techniques.

In some embodiments, various elements or portions of elements of system 100 may be integrated with each other, for example, or may be integrated onto a single printed circuit board (PCB) to reduce system complexity, manufacturing costs, power requirements, and/or timing errors between the various sensor measurements. For example, gyroscope/accelerometer 144, user interface 120, and controller 130 may be configured to share one or more components, such as a memory, a logic device, a communications module, and/or other components, and such sharing may act to reduce and/or substantially eliminate such timing errors while reducing overall system complexity and/or cost.

Each element of system 100 may include one or more batteries or other electrical power storage devices, for example, and may include one or more solar cells or other electrical power generating devices (e.g., a wind or water-powered turbine, or a generator producing electrical power from motion of one or more elements of system 100). In some embodiments, one or more of the devices may be powered by a power source for mobile structure 101, using one or more power leads. Such power leads may also be used to support one or more communication techniques between elements of system 100.

In various embodiments, a logic device of system 100 (e.g., of orientation sensor 140 and/or other elements of system 100) may be adapted to determine parameters (e.g., using signals from various devices of system 100) for transforming a coordinate frame of sonar system 110 and/or other sensors of system 100 to/from a coordinate frame of mobile structure 101, at-rest and/or in-motion, and/or other coordinate frames, as described herein. One or more logic devices of system 100 may be adapted to use such parameters to transform a coordinate frame of sonar system 110, radar system 160, and/or other sensors of system 100 to/from a coordinate frame of orientation sensor 140 and/or mobile structure 101, for example. Furthermore, such parameters may be used to determine and/or calculate one or more adjustments to an orientation of sonar system 110 and/or radar system 160 that would be necessary to physically align a coordinate frame of sonar system 110 and/or radar system 160 with a coordinate frame of orientation sensor 140 and/or mobile structure 101, for example, or an absolute coordinate frame. Adjustments determined from such parameters may be used to selectively power adjustment servos/actuators (e.g., of sonar system 110, radar system 160, and/or other sensors or elements of system 100), for example, or may be communicated to a user through user interface 120, as described herein.

FIG. 1B illustrates a diagram of system 100B in accordance with an embodiment of the disclosure. In the embodiment shown in FIG. 1B, system 100B may be implemented to provide position measurements of mobile structure 101 for use with operation of mobile structure 101, similar to system 100 of FIG. 1A. For example, system 100B may include sonar system/OPS 110/190, radar system/OPS 160/190, integrated user interface/controller/OPS 120/130/190, secondary user interface/OPS 120/190, steering sensor/actuator 150, sensor cluster/OPS 190 (e.g., orientation sensor 140, gyroscope/accelerometer 144, and/or GNSS 146), and various other sensors and/or actuators. In the embodiment illustrated by FIG. 1B, mobile structure 101 is implemented as a motorized boat including a hull 105 b, a deck 106 b, a transom 107 b, radar system/OPS 160/190 coupled to mast/sensor mount 108 b, a rudder 152, an inboard motor 170, and an actuated sonar system 110 coupled to transom 107 b. In other embodiments, hull 105 b, deck 106 b, mast/sensor mount 108 b, rudder 152, inboard motor 170, and various actuated devices may correspond to attributes of a passenger aircraft or other type of vehicle, robot, or drone, for example, such as an undercarriage, a passenger compartment, an engine/engine compartment, a trunk, a roof, a steering mechanism, a headlight, a radar system, and/or other portions of a vehicle.

As depicted in FIG. 1B, mobile structure 101 includes actuated sonar system 110, which in turn includes OPS 190 integrated with transducer assembly 112, which are coupled to transom 107 b of mobile structure 101 through assembly bracket/actuator 116 and transom bracket/electrical conduit 114. In some embodiments, assembly bracket/actuator 116 may be implemented as a roll, pitch, and/or yaw actuator, for example, and may be adapted to adjust an orientation of transducer assembly 112 according to control signals and/or an orientation (e.g., roll, pitch, and/or yaw) or position of mobile structure 101 provided by user interface/controller/OPS 120/130/190. For example, user interface/controller/OPS 120/130/190 may be adapted to receive an orientation of transducer assembly 112 configured to ensonify a portion of surrounding water and/or a direction referenced to an absolute coordinate frame, and to adjust an orientation of transducer assembly 112 to retain ensonification of the position and/or direction in response to motion of mobile structure 101, using one or more orientations and/or positions of mobile structure 101 and/or other sensor information derived by executing various methods described herein.

In another embodiment, user interface/controller/OPS 120/130/190 may be configured to adjust an orientation of transducer assembly 112 to direct sonar transmissions from transducer assembly 112 substantially downwards and/or along an underwater track during motion of mobile structure 101. In such embodiment, the underwater track may be predetermined, for example, or may be determined based on criteria parameters, such as a minimum allowable depth, a maximum ensonified depth, a bathymetric route, and/or other criteria parameters. Transducer assembly 112 may be implemented with a sonar position and/or orientation sensor (SPOS), which may include one or more sensors corresponding to orientation sensor 140, gyroscope/accelerometer 144 and/or GNSS 146, for example, that is configured to provide absolute and/or relative positions and/or orientations of transducer assembly 112 to facilitate actuated orientation of transducer assembly 112.

Also shown in FIG. 1B is radar system 160, which includes integrated OPS 190 and a radar antenna platform and actuator configured to rotate the radar antenna about a vertical axis substantially aligned with vertical axis 104 of mobile structure 101. In some embodiments, user interface/controller/OPS 120/130/190 may be configured to receive radar returns from a radar sensor assembly of radar system/OPS 160/190, and corresponding orientation and/or position data from radar system/OPS 160/190 (e.g., corresponding to an orientation and/or position of an antenna of radar system 160 when the radar returns are received), and then generate radar image data based, at least in part, on the radar returns and the corresponding orientation and/or position data.

More generally, both sonar system 110 and radar system 160 are types of remote sensing systems, each with remote sensing assemblies (e.g., sonar sensor assemblies, radar sensor assemblies) including housings adapted to be mounted to mobile structure 101, each with an OPS disposed within their respective housings and adapted to measure an orientation and/or position of an associated sensing element (e.g., sonar transducer, radar antenna), and each having access to or integrated with a logic device (e.g., controller 130) configured to receive remote sensor returns from the corresponding remote sensing assembly and sensor return orientation and/or position data from the corresponding OPS and generate remote sensor image data based, at least in part, on the remote sensor returns and the sensor return orientation and/or position data. Once the remote sensor image data is received, user interface/controller/OP S 120/130/190 may be configured to render the remote sensor image data on a display of any one of user interface 120, for example. In some embodiments, multiple sets of remote sensor image data may be displayed on the same user interface using one or more geo-referenced, target references, and/or source references overlays.

In one embodiment, user interfaces 120 may be mounted to mobile structure 101 substantially on deck 106 b and/or mast/sensor mount 108 b. Such mounts may be fixed, for example, or may include gimbals and other leveling mechanisms/actuators so that a display of user interfaces 120 can stay substantially level with respect to a horizon and/or a “down” vector (e.g., to mimic typical user head motion/orientation), for example, or so the display can be oriented according to a user's desired view. In another embodiment, at least one of user interfaces 120 may be located in proximity to mobile structure 101 and be mobile/portable throughout a user level (e.g., deck 106 b) of mobile structure 101. For example, a secondary user interface 120 may be implemented with a lanyard, strap, headband, and/or other type of user attachment device and be physically coupled to a user of mobile structure 101 so as to be in proximity to the user and mobile structure 101. In various embodiments, user interfaces 120 may be implemented with a relatively thin display that is integrated into a PCB of the corresponding user interface in order to reduce size, weight, housing complexity, and/or manufacturing costs.

As shown in FIG. 1B, in some embodiments, speed sensor 142 may be mounted to a portion of mobile structure 101, such as to hull 105 b, and be adapted to measure a relative water speed. In some embodiments, speed sensor 142 may be adapted to provide a thin profile to reduce and/or avoid water drag. In various embodiments, speed sensor 142 may be mounted to a portion of mobile structure 101 that is substantially outside easy operational accessibility. Speed sensor 142 may include one or more batteries and/or other electrical power storage devices, for example, and may include one or more water-powered turbines to generate electrical power. In other embodiments, speed sensor 142 may be powered by a power source for mobile structure 101, for example, using one or more power leads penetrating hull 105 b. In alternative embodiments, speed sensor 142 may be implemented as a wind velocity sensor, for example, and may be mounted to mast/sensor mount 108 b to have relatively clear access to local wind.

In the embodiment illustrated by FIG. 1B, mobile structure 101 includes direction/longitudinal axis 102, direction/lateral axis 103, and direction/vertical axis 104 meeting approximately at mast/sensor mount 108 b (e.g., near a center of gravity of mobile structure 101). In one embodiment, the various axes may define a coordinate frame of mobile structure 101 and/or sensor cluster 160.

Each sensor adapted to measure a direction (e.g., velocities, accelerations, headings, or other states including a directional component) may be implemented with a mount, actuators, and/or servos that can be used to align a coordinate frame of the sensor with a coordinate frame of any element of system 100B and/or mobile structure 101. Each element of system 100B may be located at positions different from those depicted in FIG. 1B. Each device of system 100B may include one or more batteries or other electrical power storage devices, for example, and may include one or more solar cells or other electrical power generating devices. In some embodiments, one or more of the devices may be powered by a power source for mobile structure 101. As noted herein, each element of system 100B may be implemented with an antenna, a logic device, and/or other analog and/or digital components enabling that element to provide, receive, and process sensor signals and interface or communicate with one or more devices of system 100B. Further, a logic device of that element may be adapted to perform any of the methods described herein.

FIG. 2 illustrates a diagram of a remote sensing system 200 including a position sensor 190 in accordance with an embodiment of the disclosure. In the embodiment shown in FIG. 2, system 200 includes a remote sensing assembly 210 that can be coupled to a user interface (e.g., user interface 120 of FIG. 1A) and/or a power source through a single I/O cable 214. As shown, remote sensing assembly 210 may include one or more system controllers 220, sensing elements (e.g., transducer/antenna 264), OPS 190, and/or other devices facilitating operation of system 200 all disposed within a common housing 211. In other embodiments, one or more of the devices shown in FIG. 2 may be integrated with a remote user interface and communicate with remaining devices within remote sensing assembly 210 through one or more data and/or power cables similar to I/O cable 214.

Controller 220 may be implemented as any appropriate logic device (e.g., processing device, microcontroller, processor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), memory storage device, memory reader, or other device or combinations of devices) that may be adapted to execute, store, and/or receive appropriate instructions, such as software instructions implementing a control loop for controlling various operations of remote sensing assembly 210 and/or system 200, for example, similar to controller 130. In typical embodiments, controller 220 may be tasked with overseeing general operation of remote sensing assembly 210, generating remote sensor image data from remote sensor returns and sensor return orientation and/or position data, correlating sensor data with remote sensor data/imagery, communicating operational parameters and/or sensor information with other devices through I/O cable 214, and/or other operations of system 200. Controller 220 may in some embodiments be implemented with relatively high resolution timing circuitry capable of generating digital transmission and/or sampling control signals for operating transmitters, receivers, transceivers, signal conditioners, and/or other devices of remote sensing assembly 210, for example, and other time critical operations of system 200, such as per-sample digital beamforming and/or interferometry operations applied to remote sensor returns from sensing element 264, as described herein. In some embodiments, controller 220 may be implemented in a distributed manner across a number of individual controllers.

Transceiver 234 may be implemented with one or more digital to analog converters (DACs), signal shaping circuits, filters, phase adjusters, signal conditioning elements, amplifiers, timing circuitry, logic devices, and/or other digital and/or analog electronics configured to accept digital control signals from controller 220 and to generate transmission signals to excite a transmission channel/element of remote sensing assembly 210 (e.g., sensing element 264, which in some embodiments can be used to transmit remote sensor beams and receive sensor returns) to produce one or more remote sensor beams. In some embodiments, various transmission operations of transceiver 234 (e.g., amplification, frequency dependent filtering, transmit signal frequency, duration, shape, and/or timing/triggering, and/or other signal attributes), may be controlled (e.g., through use of various control signals) by controller 220, as described herein.

Transceiver 243 may also be implemented with one or more analog to digital converters (ADCs), filters, phase adjusters, signal conditioning elements, amplifiers, timing circuitry, logic devices, and/or other digital and/or analog electronics configured to accept analog remote sensor returns from a corresponding receive channel/sensing element of remote sensing assembly 210 (e.g., sensing element 264), convert the analog remote sensor returns into digital remote sensor returns, and provide the digital sensor returns to controller 220. In some embodiments, various receive operations of transceiver 234 (e.g., amplification, frequency dependent filtering, basebanding, sample resolution, duration, and/or timing/triggering, and/or other ADC/signal attributes) may be controlled by controller 220.

For example, controller 220 may be configured to use transceiver 234 to convert a remote sensor return into a digital remote sensor return comprising one or more digital baseband transmissions that are then provided to controller 220. In some embodiments, transceiver 234 may be configured to low-pass or otherwise filter, amplify, decimate, and/or otherwise process the analog and/or digital remote sensor returns (e.g., using analog and/or digital signal processing) prior to providing the digital remote sensor returns to controller 220. In other embodiments, transceiver 234 may be configured to provide substantially unprocessed (e.g., raw) analog and/or digital remote sensor returns to controller 220 for further signal processing, as described herein. In further embodiments, transceiver 234 may be implemented as one or more separate transmitters and receivers.

In the embodiment shown in FIG. 2, sensing element 264 is implemented as a single transmission/receive channel that may be configured to transmit remote sensor beams and receive remote sensor returns through emission surface 212 of housing 211. In some embodiments, remote sending assembly 210 may be implemented with multiple transmission and/or receive channels (e.g., a multichannel sonar transducer, or a multichannel/synthetic aperture radar antenna). In general, remote sending assembly 210 may be implemented with one, two, or many separate elements configured to produce one or more remote sensor beams, and one, two, or many separate sensing elements configured to receive remote sensor returns. The effective volumetric shapes of the remote sensor beams and remote sensor returns may be determined by the shapes and arrangements of their corresponding transducer elements. In multichannel embodiments, the various channels may be arranged to facilitate multichannel processing, such as beamforming, interferometry, inter-beam interpolation, and/or other types of multichannel processing used to produce remote sensor data and/or imagery.

In FIG. 2, each of sensing element 264 is coupled to its electronics over leads 218 and through shielding 219. In various embodiments, leads 218 and/or shielding 219 may be implemented as one or more shielded transmission lines configured to convey analog and/or digital signals between the various elements while shielding transceiver 234 and sensing element 264 from electromagnetic interference from each other, other elements of remote sensing assembly 210 (e.g., OPS 190), and/or external sources. In some embodiments, leads 218 and shielding 219 may be integrated together to form a transmission system. For example, shielding 219 may be configured to provide a ground plane/return for signals conveyed by leads 218.

As shown, remote sensing assembly 210 may be implemented with OPS 190, which may be configured to measure a relative and/or absolute orientation and/or position of remote sensing assembly 210 and/or sensing element 264 and provide such measurements to controller 220. In some embodiments, controller 220 may be configured to combine remote sensor data and/or imagery according to such measurements and/or measurements of an orientation and/or position of a coupled mobile structure to produce combined remote sensor data and/or imagery, such as multiple co-registered remote sensor images, for example, and/or three dimensional remote sensor imagery. In other embodiments, controller 220 may be configured to use orientation and/or position measurements of remote sensing assembly 210 and/or a coupled mobile structure to control one or more actuators (e.g., other devices 280) to adjust a position and/or orientation of remote sensing assembly 210 and/or sensing element 264 and emit remote sensor beams towards a particular position and/or orientation, for example, or otherwise control motion of remote sensing assembly 210 and/or sensing element 264.

Other devices 280 may include other and/or additional sensors, sensor arrays, actuators, logic devices, communications modules/nodes, power distribution components, and/or user interface devices used to provide additional environmental information and/or configuration parameters, for example, and/or to adjust a position and/or orientation of remote sensing assembly 210 and/or sensing element 264. In some embodiments, other devices 280 may include a visible spectrum camera, an infrared camera, and/or other environmental sensors providing measurements and/or other sensor signals that can be displayed to a user and/or used by other devices of remote sensing assembly 210 (e.g., controller 220) to provide operational control of remote sensing assembly 210. In some embodiments, other devices 280 may include one or more actuators adapted to adjust an orientation (e.g., roll, pitch, and/or yaw) and/or a position (longitudinal, lateral, and/or vertical) of remote sensing assembly 210 and/or sensing element 264 relative to a coupled mobile structure, in response to one or more control signals (e.g., provided by controller 220). In other embodiments, other devices 280 may include one or more brackets, such as a transom bracket or a mast bracket, adapted to couple housing 211 to a mobile structure.

Other devices 280 may also include a sensing element angle sensor, for example, which may be physically coupled to housing 211 of remote sensing assembly 210 and be configured to measure an angle between an orientation of sensing element 264 and a longitudinal axis of housing 211 and/or mobile structure 101. Other devices 280 may also include a rotating platform and/or corresponding platform actuator for sensing element 264 and/or remote sensing assembly 210. In some embodiments, other devices 280 may include one or more Helmholtz coils integrated with OPS 190, for example, and be configured to selectively cancel out one or more components of the Earth's magnetic field, as described herein.

In various embodiments, remote sensing assembly 210 may be implemented in a single housing 211 with a single interface (e.g., I/O cable 214) to simplify installation and use. For example, I/O cable 214 may be implemented as a power-over-Ethernet (POE) cable supporting transmission of both communications and power between remote sensing assembly 210 and elements of a coupled mobile structure. Such communications and/or power may be delivered over leads 216 to power supply 215 and/or controller 220. Power supply 215 may be implemented as one or more power conditioners, line filters, switching power supplies, DC to DC converters, voltage regulators, power storage devices (e.g., batteries), and/or other power supply devices configured to receive power over leads 216 and/or distribute power to the various other elements of remote sensing assembly 210.

FIG. 3 illustrates a diagram of a remote sensing system 300 including a position sensor 190 in accordance with an embodiment of the disclosure. In the embodiment shown in FIG. 3, remote sensing imagery system 300 is implemented as a radar system including a radar sensor assembly 310, housing 311, and radar antenna 364 shielded from system controller 320 and OPS 190 by shielding 319, which correspond to and/or may be implemented similarly to remote sensing assembly 210, housing 211, sensing element 264, controller 220, OPS 190, and shielding 319 of FIG. 2, respectively. Also shown are antenna platform 314 and platform actuator 316 configured to rotate antenna 364, shielding 319, controller 320, and OPS 190 about axis 313, and sensing element (e.g., radar antenna) angle sensor 317 configured to measure an angle between an orientation of antenna 364 and a longitudinal axis of housing 311 (e.g., a vertical line passing perpendicularly through the antenna surface in the orientation shown in FIG. 3). In various embodiments, OPS 190 may be configured to determine an orientation and/or position of remote sensing imagery system 300 while antenna platform 314 is rotating within housing 311. Implementations for corresponding methods are provided in FIGS. 5 through 10 of the present disclosure.

In some embodiments, radar antenna angle sensor 317 may be configured to monitor a position of platform actuator 316, for example, and derive the measured angle from the monitored position. In other embodiments, radar antenna angle sensor 317 may be configured to detect passage over one or more indexed posts 312 corresponding to a known orientation of antenna 364 relative to a longitudinal axis of housing 311. Controller 320 may be configured to receive a measured angle corresponding to a particular known relative orientation when radar antenna angle sensor 317 passes over the appropriate indexed post 312.

FIG. 4 illustrates a graph 400 of time series of position data 490 from three individual position sensors (e.g., radar system/OPS 160/190, user interface/controller/OPS 120/130/190, and secondary user interface/OPS 120/190) and a corresponding time series of measured positions 492 derived from the position data by position measurement system 100 in accordance with an embodiment of the disclosure. In FIG. 4, the time series of measured positions 492 (e.g., one dimensional positions, in FIG. 4) are derived from the time series of position data 490 using a weighting factor based, at least in part, on horizontal dilution of precision fix metadata, similar to that shown in the worked pseudocode example presented herein. FIG. 4 shows that the combined position data (e.g., measured position series 492) deviates less from the mean (shown as “0” displacement in graph 400) than the position data from any individual position sensor 190. Also shown in FIG. 4 are various position data excursion events 494, which may occur at different times and with respect to different time series of position data 490. System 100 may be configured to detect position data excursion events 494, such as by comparing weighted and/or unweighted position data from different sensors to each other, by evaluating deviations in time series of position data and/or corresponding fix metadata (e.g., relative to preselected deviation rates), and/or using other techniques, as described herein.

FIG. 5 illustrates a flow diagram of process 500 to provide position measurements for mobile structure 101 in accordance with embodiments of the disclosure. In some embodiments, the operations of FIG. 5 may be implemented as software instructions executed by one or more logic devices associated with corresponding electronic devices, sensors, and/or structures depicted in FIGS. 1A through 3. More generally, the operations of FIG. 5 may be implemented with any combination of software instructions and/or electronic hardware (e.g., inductors, capacitors, amplifiers, actuators, or other analog and/or digital components).

It should be appreciated that any step, sub-step, sub-process, or block of process 500 may be performed in an order or arrangement different from the embodiments illustrated by FIG. 5. For example, in other embodiments, one or more blocks may be omitted from or added to process 500, and one or more blocks of process 600 of FIG. 6 may be included in process 500. Furthermore, block inputs, block outputs, various sensor signals, sensor information, calibration parameters, and/or other operational parameters may be stored to one or more memories prior to moving to a following portion of a corresponding process. Although process 500 is described with reference to systems described in FIGS. 1A-3, process 500 may be performed by other systems different from those systems and including a different selection of electronic devices, sensors, assemblies, mobile structures, and/or mobile structure attributes.

Process 500 represents a method for providing position measurements using systems 100, 100B, 200, and/or 300 in accordance with embodiments of the disclosure. At the initiation of process 500, various system parameters may be populated by prior execution of a process similar to process 500, for example, or may be initialized to zero and/or one or more values corresponding to typical, stored, and/or learned values derived from past operation of process 500, as described herein.

In block 502, a logic device receives position data from position sensors. For example, user interface 120 and/or controller 130 of system 100 may be configured to receive position data 490 corresponding to a position of mobile structure 101 from respective position sensors (e.g., radar system/OPS 160/190, user interface/controller/OPS 120/130/190, and secondary user interface/OPS 120/190). Such position data may in various embodiments correspond to a particular remote sensor assembly, a user interface, and/or other element of system 100, for example, and may be subject to an offset relative to a particular position of mobile structure 101, such as a center of mass of mobile structure 101, or a preselected known position of mobile structure 101 (e.g., a mast/deck intersection position, a midpoint position between extents of mobile structure 101, and/or other known positions). Such offsets may be applied to received position data (e.g., added to or subtracted from or otherwise compensated for) upon receipt or as part of block 504, for example.

In various embodiments, the received position data may include fix metadata provided by the corresponding position sensor. Such fix metadata may include one or more reliability metric values, for example, such as position dilution-of-precision, time dilution-of-precision, standard deviation, and/or other reliability metric values determined and provided by the individual position sensors. In additional embodiments, user interface 120 and/or controller 130 may be configured to store position data as a time series of position data in order to determine one or more extrinsic position data reliability metrics (e.g., extrinsic to the position sensor) corresponding to the position data. For example, such extrinsic position data reliability metrics may be derived from a time series of fix metadata, a pattern (e.g., in time and/or space) of position data excursion events with respect to a particular position sensor, and/or time, position, and/or environmentally linked position data or fix metadata deviations or deviation rates relative to preselected (e.g., by user input) deviations or deviation rates.

In some embodiments, one or more of the position sensors may be rotationally coupled to mobile structure 101, such as OPS 190 integrated with radar sensor assembly 310 of FIG. 3. In such embodiments, user interface 120 and/or controller 130 may be configured to receive the position data from the rotationally coupled position sensor while the rotationally coupled position sensor is rotating relative to mobile structure 101. In various embodiments, one or more of the position sensors may be disposed within a housing mounted to mobile structure 101, where the housing encompasses one or more of an accelerometer, a gyroscope, a magnetometer, a float level, a compass, a radar sensor assembly, and/or a sonar sensor assembly, similar to housing 211 of FIG. 2.

In block 504, a logic device determines weighting factors corresponding to the position data received in block 502. For example, user interface 120 and/or controller 130 may be configured to determine weighting factors (e.g., per position sensor) corresponding to the position data received in block 502. Such weighting factors may be per position component, for example, and may or may not be normalized. In embodiments where the received position data includes fix metadata, user interface 120 and/or controller 130 may be configured to determine the weighting factors based, at least in part, on the corresponding fix metadata provided by the respective position sensor (e.g., intrinsic to the position sensor). In other embodiments, user interface 120 and/or controller 130 may be configured to determine the weighting factors based, at least in part, on one or more extrinsic position data reliability metrics (per position sensor) derived at least in part, from historical series of position data from the position sensors. In still further embodiments, the weighting factors may be based on a combination of intrinsic and extrinsic reliability metrics, as described herein. Weighting factors for different position components may be determined differently from each other and/or according to different fix metadata, for example.

In some embodiments, user interface 120 and/or controller 130 may be configured to detect position data excursion events in the received position data and set corresponding weighting factors to an excursion weight upon such detection. In some embodiments, such excursion weight may be zero, for example, or may be a percentage (e.g., 1%, 10%, or other percentage less than approximately 30%) of the non-excursion weighting factor calculated in the normal course.

In block 506, a logic device determines a measured position based on the position data received in block 502 and the weighting factors determined in block 506. For example, user interface 120 and/or controller 130 may be configured to determine a measured position for mobile structure 101 based, at least in part, on the position data received in block 502 and the weighting factors determined in block 504. In some embodiments, user interface 120 and/or controller 130 may be configured to determine such measured position as the weighted average of the position data received in block 502 weighted according to the weighting factors determined in block 504.

In various embodiments, image data, position data, orientation data, and/or sonar data may be acquired and/or processed using measured positions generated by block 506 and may be used to control operation of mobile structure 101, such as by controlling steering sensor/actuator 150 and/or propulsion system 170 to steer mobile structure 101 according to a desired heading, track, one or more waypoints, a tide or wind effect, and/or other types of user and/or environmental input. For example, in some embodiments, one or more of the position sensors may be implemented as a GNSS receiver integrated with user interface 120, and user interface 120 and/or controller 130 may be configured to render a navigational chart on a display of user interface 120, where the navigational chart includes an indicator icon configured to indicate an absolute position and/or orientation of mobile structure 101 on the navigational chart corresponding to the measured position of mobile structure 101 determined in block 506.

It is contemplated that any one or combination of methods to provide remote sensing imagery may be performed according to one or more operating contexts of a control loop, for example, such as a startup, learning, running, and/or other type operating context. For example, process 500 may proceed back to block 502 and proceed through process 500 again to produce updated position measurements and/or associated imagery, as in a control loop.

FIG. 6 illustrates a flow diagram of process 600 to provide position measurements for mobile structure 101 in accordance with embodiments of the disclosure. In some embodiments, the operations of FIG. 6 may be implemented as software instructions executed by one or more logic devices associated with corresponding electronic devices, sensors, and/or structures depicted in FIGS. 1A through 3. More generally, the operations of FIG. 6 may be implemented with any combination of software instructions and/or electronic hardware (e.g., inductors, capacitors, amplifiers, actuators, or other analog and/or digital components).

It should be appreciated that any step, sub-step, sub-process, or block of process 600 may be performed in an order or arrangement different from the embodiments illustrated by FIG. 6. For example, in other embodiments, one or more blocks may be omitted from or added to the process, and one or more blocks of process 500 may be added to process 600. Furthermore, block inputs, block outputs, various sensor signals, sensor information, calibration parameters, and/or other operational parameters may be stored to one or more memories prior to moving to a following portion of a corresponding process. Although process 600 is described with reference to systems described in FIGS. 1A-3, process 600 may be performed by other systems different from those systems and including a different selection of electronic devices, sensors, assemblies, mobile structures, and/or mobile structure attributes.

Process 600 represents a method for providing position measurements using systems 100, 100B, 200, and/or 300 in accordance with embodiments of the disclosure. At the initiation of process 600, various system parameters may be populated by prior execution of a process similar to process 600, for example, or may be initialized to zero and/or one or more values corresponding to typical, stored, and/or learned values derived from past operation of process 600, as described herein.

In block 602, a logic device negotiates target measurement phases for position sensors. For example, user interface 120 and/or controller 130 of system 100 may be configured to negotiate target measurement phases for respective position sensors each coupled to mobile structure 101 at different locations, where the target measurement phases are different from each other. In various embodiments, user interface 120 and/or controller 130 may be configured to negotiate the target measurement phases by receiving, from the position sensors, measurement rates corresponding respectively to the position sensors, determining the target measurement phases based, at least in part, on the respective measurement rates, where a combined measurement rate corresponding to the target measurement phases is greater than the first or second measurement rate, and controlling the position sensors to perform position measurements according to the respective target measurement phases.

For example, GNSS based position sensors may receive an absolute time from the GNSS and/or include an internal measurement clock that may be used to help derive a position of the position sensor based on timing differences between signals received from different satellites. User interface 120 and/or controller 130 may be configured to use individual measurement rates from each position sensor to stagger, delay, or otherwise organize relative measurement times between each position sensor (e.g., identify corresponding target measurement phases/times between measurements by different position sensors) so that the effective update rate of the measured position of mobile structure 101, as determined by system 100, is greater than the maximum measurement rate for any single position sensor within system 100.

Such target measurement phases may be relative to an absolute time, as measured/received by all the position sensors individually, or may be relative to individual internal measurement clocks for each position sensor, as negotiated by user interface 120 and/or controller 130, and/or according to the timing capability of the particular position sensor. Such target measurement phases dictate the time when the position sensor makes its measurement (e.g., samples signals received from satellites), which is conceptually distinct from the time when the position sensor transmits updated position data (e.g., over a network to user interface 120 and/or controller 130). Notably, in various embodiments, position data from position sensors described herein often includes an absolute time stamp roughly approximate to the absolute time when the position measurement was made.

In block 604, a logic device receives streams of position data from position sensors measured according to the target measurement phases negotiated in block 602. For example, user interface 120 and/or controller 130 may be configured to receive streams of position data corresponding to mobile structure 101 from respective position sensors and measured according to the respective target measurement phases negotiated in block 602, where each measured position within each stream of position data is measured according to its respective target measurement phase.

In block 606, a logic device determines a series of updated measured positions based on the streams of position data received in block 604. For example, user interface 120 and/or controller 130 may be configured to determine a series of updated measured positions for mobile structure 101 based, at least in part, on the streams of position data received in block 604, where an update rate corresponding to the series of updated measured positions is greater than a maximum measurement rate corresponding to any individual position sensor in system 100. In some embodiments, the series of updated measured positions may be weighted according to the intrinsic and/or extrinsic weighting factors determined in block 504 of process 500. In such embodiments, position data with relatively low weighting factors (or weighting factors of zero) may be replaced and/or supplemented by an extrapolated position derived by extrapolating from a trend in adjacent position data provided by one or more different position sensors (e.g., adjacent in terms of target measurement phase).

For example, in the event that a first one of three position sensors is experiencing a position data excursion event, and the three position sensors have negotiated a complete cyclical target measurement phase distribution (e.g., each position sensor only repeats its measurement after the other two position sensors have made their measurements), the measured position of mobile structure 101, at the time of the first position sensor target measurement phase, may be determined by extrapolating from the trend in position indicated by the adjacent position data from the second and third position sensors. In alternative embodiments, other sensor data may be used to help guide and/or refine such extrapolation, such as combining heading data (e.g., provided by orientation sensor 140) and speed data (e.g., provided by speed sensor 142) and the most recent viable position data to determine an estimated updated position for mobile structure 101 at the time of the first position sensor target measurement phase, and using the estimated updated position as the measured position of mobile structure 101, or combining such estimated updated position with the extrapolated position according to a preselected weighting function, for example.

In various embodiments, image data, position data, orientation data, and/or sonar data may be acquired and/or processed using measured positions generated by block 606 and may be used to control operation of mobile structure 101, such as by controlling steering sensor/actuator 150 and/or propulsion system 170 to steer mobile structure 101 according to a desired heading, track, one or more waypoints, a tide or wind effect, and/or other types of user and/or environmental input. For example, in some embodiments, one or more of the position sensors may be implemented as a GNSS receiver integrated with user interface 120, and user interface 120 and/or controller 130 may be configured to render a navigational chart on a display of user interface 120, where the navigational chart includes an indicator icon configured to indicate an absolute position and/or orientation of mobile structure 101 on the navigational chart corresponding to the measured position of mobile structure 101 determined in block 606.

It is contemplated that any one or combination of methods to provide position measurements may be performed according to one or more operating contexts of a control loop, for example, such as a startup, learning, running, and/or other type operating context. For example, process 600 may proceed back to block 602 and proceed through process 600 again to produce updated position measurements and/or associated imagery, as in a control loop.

Embodiments of the present disclosure can thus provide accurate and reliable position measurements for a mobile structure. Such embodiments may be used to provide sonar, radar, and/or other remote sensing imagery to assist in navigation for the mobile structure, survey of a body of water, and/or to assist in the operation of other systems, devices, and/or sensors coupled to the mobile structure.

Many elements of system 100 may be equipped with localization sensors, such as GNSS receivers or other elements of inertial navigation systems, and certain services are made possible by knowledge of the position of a particular device or sensor relative to adjacent devices or sensors. For example, multifunction displays can coordinate location-aware behavior when grouped together, such as optimizing screen layout so as to avoid showing the same data on two adjacent displays. A GNSS based compass service can also be used to provide reliable heading information, even in a magnetically challenging environment, given knowledge of the relative positions of GNSS receivers in a network of position sensors on mobile structure 101.

Implementations of such services are reasonably trivial to implement if accurate information regarding the position of a position sensor relative to its neighbors can be provided, but this is often difficult for users to measure. For example, in a consumer marine environment, installers/end users often retrofit devices containing GNSS receivers without the ability to accurately determine their position relative to other position sensors in three dimensions, much less input them into a system as part of a user-friendly installation process. In a static environment such as atop a building or other permanent installation, such measurements can be made relatively easily. On a non-static body such as a boat or other mobile structure (which will spend most of its time moving, rotating and pitching, even when moored), such measurements cannot be made easily because the GNSS receivers appear to be moving and rotating in three dimensions relative to each other.

Embodiments of the present disclosure are capable of automatically determining positions of GNSS receivers/position sensors relative to each other and calibrating their displacement relative to the chassis or hull of mobile structure 101 over time. This allows an end user to retrofit multiple GNSS receivers/position sensors at a time and location convenient for them and have system 100 learn their relative positions automatically given the slight differences in GNSS signals received by each receiver, providing a transparent and zero-configuration GNSS heading/compass service. Embodiments are capable of making such determinations even while mobile structure 101 is under way. Any user-experience service that can be enhanced by knowledge of the relative position of devices including such position sensors (e.g., a service that allows devices in close proximity to alter their behavior accordingly, such as efficiently distributing user interface elements across adjacent displays) can also be offered by virtue of these determinations.

In general, a process to automatically determine relative positions of position sensors (e.g., GNSS 146) of a network of position sensors mounted to mobile structure 101 and/or within elements of system 100 may include generating a random set of candidate positions in 3D space for the position sensors, iteratively rotating the set of candidate positions to find a best fit for position measurements provided by the position sensors (e.g., a multi-variable global-minima search—if a particular set of candidate positions can be rotated into a position with less error than the previous set, then the rotated set may be weighted more favorably), determining an updated set of candidate positions based on the best fit rotation and/or appropriately weighted set of rotations, and iterating the process through the iterative rotations and determining the updated set (another multi-variable global-minima search) until a maximum iteration or desired error metric is met.

More specifically, positions of position sensors are estimated using two nested multivariable global-minima-search algorithms, where one algorithm varies displacement within a three dimensional (3D model) and another varies rotation within the 3D model. The iteration step of one algorithm calls for an entire optimization solution from the other, therefore the total number of iterations on a given data set are generally equal to the product of the number of iterations of each individual algorithm. Such approach allows the concepts of rotation and displacement to be decoupled, thereby permitting a search for relative position of the position sensors to occur independently of rotation, as described herein.

An example step by step process for determining the relative positions of position sensors in a network of position sensors coupled to a mobile platform, such as mobile structure 101, is as follows:

1) A set of candidate/estimated positions (a first guess for where the position sensors could be relative to each other) are generated, such as from a seed value (e.g., randomly, or by user-estimate).

2) The set of candidate/estimated positions are varied according to a global-minima multivariable optimization algorithm (e.g., algorithm 1), and possibly according to weights (e.g., configured to classify how “good” a particular set of candidate positions is) obtained from a prior completion of step 3.

3) A model of the set of candidate/estimated positions is rotated (and/or possibly displaced as a whole) in 3D space to find a rotation that best-matches a measured 2D displacement (e.g., algorithm 2), as provided in a lateral/longitudinal or x/y planar projection of position measurements from the GNSS receivers/position sensors. If the iteration described in step 2 yields a set of results that more closely matches the measured positions, then that result is favored/weighted favorably over other results when creating a third set of candidate/estimated positions (e.g., in a similar fashion to a genetic learning algorithm). In step 3, it is possible to evaluate candidate positions in 3D space using 2D readings because the influence of roll and pitch on the measured 2D displacement of the position sensor will depend on its height relative to the center of mass of mobile structure 101, and so the process will also produce useable height estimations in systems where altitude is typically very inaccurate (e.g., with position sensors implemented using GNSS receivers).

4) After reaching a given stop criteria (e.g., a given number of iterations or a satisfactorily low error) the process may stop and the resulting derived set of updated estimated relative positions may be accepted as the “working” set of relative positions for the network of position sensors, from which useful services (e.g., a GNSS based compass, other position sensor services) may be provided to a pilot of mobile structure 101.

5) In some embodiments, an additional learning step may include determining an absolute offset angle between the 3D model of the network of position sensors and an absolute direction (e.g., True North). For example, given that the difference between the heading and course over ground of a vessel in operation along a steady course will (on average, over time) converge towards zero, system 100 may be configured to determine an average COG provided by the 3D model working set of relative positions vs. an averaged heading (e.g., provided by orientation sensor 140) of mobile structure 101 and calculate the absolute angular offset of the 3D model of relative positions of the network of position sensors vs. the vessel centerline, and use this absolute offset angle to provide a zero-configuration position sensor/GNSS based compass service. Alternatively, such absolute angle offset may be calibrated while moored in a dock.

An example worked example (where the rotation algorithm iterates four times per learning cycle and the overall displacement algorithm iterates three times) is as follows:

1) A first set of relative position values are estimated using, for example, initial measurements from the position sensors, to generate a 3D model of the position sensors.

1.1) The 3D model of position sensors is rotated by a selected angle, and the fit relative to measured positions provided by the position sensors is measured and characterized.

1.2) Step 1.1 is repeated with improved rotation values (e.g., determined based on the measured and characterized fit of step 1.1) for another iteration.

1.3) Step 1.1 is repeated with improved rotation values (e.g., determined based on the results of steps 1.1 and/or 1.2) for another iteration.

1.4) Step 1.1 is repeated with improved rotation values (e.g., determined based on the results of steps 1.1, 1.2, and/or 1.3) for another iteration.

2) The output from step 1.4 is used to vary and update the 3D model of the relative positions of the position sensors according to a pre-defined optimization algorithm.

2.1) This improved updated 3D model of the relative positions is rotated, and the fit relative to measured positions provided by the position sensors is measured and characterized.

2.2) Step 2.1 is repeated with improved rotation values (e.g., determined based on the measured and characterized fit of step 2.1) for another iteration.

2.3) Step 2.1 is repeated with improved rotation values (e.g., determined based on the results of steps 2.1 and/or 2.2) for another iteration.

2.4) Step 2.1 is repeated with improved rotation values (e.g., determined based on the results of steps 2.1, 2.2, and/or 2.3) for another iteration.

3) The output from step 2.4 is used to vary and update the 3D model of the relative positions of the position sensors according to a pre-defined optimization algorithm.

3.1) This improved updated 3D model of the relative positions is rotated, and the fit relative to measured positions provided by the position sensors is measured and characterized.

3.2) Step 3.1 is repeated with improved rotation values (e.g., determined based on the measured and characterized fit of step 3.1) for another iteration.

3.3) Step 3.1 is repeated with improved rotation values (e.g., determined based on the results of steps 3.1 and/or 3.2) for another iteration.

3.4) Step 3.1 is repeated with improved rotation values (e.g., determined based on the results of steps 3.1, 3.2, and/or 3.3) for another iteration.

4) The iteration limit is reached, and the current set of relative position values in the 3D model are considered accurate enough to provide useful and reliable services to a pilot of mobile structure 101.

FIG. 7 illustrates a flow diagram of process 700 to determine relative positions of position sensors in a network of positions sensors coupled to a mobile platform (e.g., mobile structure 101) in accordance with an embodiment of the disclosure. In some embodiments, the operations of FIG. 7 may be implemented as software instructions executed by one or more logic devices associated with corresponding electronic devices, sensors, and/or structures depicted in FIGS. 1A through 3. More generally, the operations of FIG. 7 may be implemented with any combination of software instructions and/or electronic hardware (e.g., inductors, capacitors, amplifiers, actuators, or other analog and/or digital components).

It should be appreciated that any step, sub-step, sub-process, or block of process 700 may be performed in an order or arrangement different from the embodiments illustrated by FIG. 7. For example, in other embodiments, one or more blocks may be omitted from or added to the process, and one or more blocks of process 500 and/or 600 may be added to process 700. Furthermore, block inputs, block outputs, various sensor signals, sensor information, calibration parameters, and/or other operational parameters may be stored to one or more memories prior to moving to a following portion of a corresponding process. Although process 700 is described with reference to systems described in FIGS. 1A-3, process 700 may be performed by other systems different from those systems and including a different selection of electronic devices, sensors, assemblies, mobile structures, and/or mobile structure attributes.

Process 700 represents a method for automatically determining relative positions of position sensors coupled to mobile structure 101 and/or within elements of system 100 using systems 100, 100B, 200, and/or 300 in accordance with embodiments of the disclosure. At the initiation of process 700, various system parameters may be populated by prior execution of a process similar to process 700, for example, or may be initialized to zero and/or one or more values corresponding to typical, stored, and/or learned values derived from past operation of process 700, as described herein.

In block 702, a logic device generates a 3D model of a network of position sensors. For example, user interface 120 and/or controller 130 of system 100 may be configured to generate a 3D model of a network of position sensors, each coupled to mobile structure 101 at different locations, based, at least in part, on estimated relative positions of the position sensors relative to each other. In an embodiment with two (e.g., first and second) position sensors, system 100 may be configured to generate a 3D model of the first and second position sensors based, at least in part, on an estimated relative position of the second position sensor relative to the first position sensor. In embodiments with additional position sensors, the 3D model may be based on the estimated relative positions of each additional position sensor relative to the first position sensor, for example.

In some embodiments, the estimated relative positions of the position sensors may be derived from a user-supplied relative position estimate (e.g., a lateral, longitudinal, and/or height relative position estimate), a set of position measurements provided by the network of position sensors, a random or standard relative position estimate, and/or any combination or sub-combination of those, for example. For instance, system 100 may be configured to subtract a first position measurement provided by a first position sensor from a second position measurement provided by a second position sensor, where the two position measurements are made substantially simultaneously, to determine an estimated relative position of the second position sensor relative to the first position sensor, or to perform a similar process on a set of multiple such pairs of position measurements and/or an average of multiple pairs of position measurements.

In various embodiments, the 3D model may be generated such that one position sensor is placed at the 3D origin of the model, for example, or such that the network of position sensors is roughly centered about the 3D origin of the model, where the 3D origin roughly corresponds to an estimated relative position of a center of mass of mobile structure 101 relative to the network of position sensors. An initial rotation of the 3D model may be set to zero, for example, or may be set to a previously identified value determined by performing a process similar to process 700.

In block 704, a logic device determines a rotation correction based on position measurements provided by a network of position sensors. For example, user interface 120 and/or controller 130 of system 100 may be configured to determine a rotation correction for the 3D model generated in block 702 based, at least in part, on a set of position measurements provided by the network of position sensors identified in the 3D model. In an embodiment with two (e.g., first and second) position sensors, system 100 may be configured to determine a rotation correction for the 3D model based, at least in part, on a set of position measurements provided by the first and second position sensors.

For example, in such embodiment, system 100 may be configured to rotate the 3D model generated in block 702 by a predetermined or randomly selected angle about any one or combination of axes of the 3D model. The rotated 3D model may be used to determine a 2D estimated relative displacement of the second position sensor relative to the first position sensor, in the lateral/longitudinal plane (e.g., the x/y plane) of the 3D model, such as by calculating the relative displacement of the position sensors in the 2D protection of the 3D model onto the lateral/longitudinal plane, or by simply identifying the lateral/longitudinal components of the estimated relative position, as modified by the rotation of the 3D model.

System 100 may also determine a set of measured relative positions of the second position sensor relative to the first position sensor based on a set of position measurements provided by the first and second position sensors, for example, and neglect the altitude components of the measured relative positions (e.g., which are typically less precise than lateral/longitudinal position measurements provided by GNSS receivers/position sensors) to determine a set of 2D measured relative displacements of the second position sensor relative to the first position sensor, as described herein. System 100 may then determine a model error corresponding to the rotation angle of the 3D model by subtracting the 2D estimated relative displacement of the second position sensor relative to the first position sensor from each 2D measured relative displacement in the set of 2D measured relative displacements, or from an average of such set of 2D measured relative displacements, for example. In alternative embodiments, system 100 may be configured to use the estimated and measured relative positions (e.g., not just the planar displacements) to determine the model error.

In some embodiments, system 100 may be configured to determine a set of measured rotations of the network of position sensors based on the set of 2D measured relative displacements, where the influence of roll and pitch of mobile structure 101 on the set of 2D measured relative displacements will depend on the relative height of each position sensor relative to the center of mass of mobile structure 101 (e.g., along the vertical axis of mobile structure 101). In such embodiments, system 100 may be configured to compensate for such measured rotations when determining the model error, such as by adding the measured rotation to the selected rotation angle, for example, before determining the 2D estimated relative displacement and/or the model error, as described herein.

In various embodiments, system 100 may generate a set of model errors and corresponding rotation angles iteratively (e.g., by selecting a different rotation angle for each iteration), such as up to an iteration limit or a minimum achieved model error limit. In some embodiments, system 100 may be configured to identify and select the rotation angle corresponding to a minimum model error magnitude (e.g., absolute value of the model error) of the set of model errors as the rotation correction for the 3D model. In other embodiments, system 100 may be configured to determine the rotation correction based on a weighted combination of the rotation angles, where the weights of the rotation angles are roughly proportional to their corresponding model error magnitudes. In some embodiments, the original 3D model (e.g., the unrotated 3D model) may be used to generate a model error in the set of model errors.

In additional or alternative embodiments, system 100 may be configured to rotate the 3D model generated in block 702 by a predetermined or randomly selected angle about any one or combination of axes of the 3D model and to translate the 3D model generated in block 702 by a predetermined or randomly selected vector along any one or combination of axes of the 3D model, for example, and to generate a set of model errors and corresponding rotation angles and translation vectors iteratively (e.g., by selecting a different rotation angle and/or translation vector for each iteration). Such set of model errors, rotation angles, and translation vectors may be used to determine a rotation correction and/or a translation correction using any of the techniques described herein.

In block 706, a logic device determines an updated 3D model based on a rotational correction. For example, user interface 120 and/or controller 130 of system 100 may be configured to determine an updated 3D model version of the 3D model generated in block 702, which may include updated estimated relative positions of position sensors in the network of position sensors, based, at least in part, on the 3D model generated in block 702, the estimated relative positions, and/or the rotation correction determined in block 704. In an embodiment with two (e.g., first and second) position sensors, system 100 may be configured to determine an updated 3D model of the first and second position sensors, which may include an updated estimated relative position of the second position sensor relative to the first position sensor, based, at least in part, on the 3D model generated in block 702, the estimated relative position, and/or the rotation correction determined in block 704.

For example, in one embodiment, system 100 may be configured to use the rotation correction and/or translation correction determined in block 704 to determine an updated 3D model that is simply a rotated and/or translated version of the 3D model generated in block 702. In another embodiment, system 100 may be configured to use the rotation correction and/or translation correction determined in block 704, and/or the associated model errors and/or the set of measured relative positions of the second position sensor relative to the first position sensor, to determine an updated estimated relative position of the second position sensor relative to the first position sensor within the updated 3D model. For example, the set of model errors, the rotation correction, the translation correction, and/or the set of measured relative positions may be used to adjust the longitudinal and/or lateral relative position of the second position sensor relative to the first position sensor, or may be used to adjust the longitudinal, lateral, and vertical relative position of the second position sensor relative to the first position sensor, as describe herein.

For example, system 100 may be configured to use the rotation correction and/or the set of model errors determined in block 704 to determine an updated estimated relative longitudinal and/or lateral position of the second position sensor relative to the first position sensor and update the 3D model generated in block 702 according to or using the updated estimated relative longitudinal and/or lateral position of the second position sensor relative to the first position sensor. In embodiments where system 100 is configured to determine a set of measured rotations of the network of position sensors based on the set of 2D measured relative displacements, system 100 may be configured to determine updated heights (e.g., along the vertical axis of mobile structure 101) for the position sensors based on the set of 2D measured relative displacements, the corresponding set of measured rotations, the set of model errors and/or the rotation correction determined in block 704, and the 3D model generated in block 702.

Upon determining an updated 3D model, system 100 may either continue to iterate blocks 704 and 706 to reduce the model error to a pre-selected desired model error or proceed to use the updated 3D model to provide position sensor based services (e.g., GNSS based compass, screen layout selection, and/or other position sensor based services) for use with navigation of mobile structure 101, as described herein.

In additional embodiments, a position sensor based compass may be calibrated as part of process 700. To illustrate, the difference between the heading of mobile structure 101 (e.g., as measured by orientation sensor 140) and a course over ground (COG) of mobile structure 101 (e.g., as measured by GNSS 146), while underway along a steady heading, will on average over time converge towards zero. As such, system 100 may be configured to determine an absolute angular offset between the updated/generated 3D model of blocks 702/704 and a longitudinal axis (e.g., centerline) of mobile structure 101 and use such absolute angular offset to calibrate a position sensor based compass comprising a network of position sensors to an absolute reference direction (e.g., True North, etc.), as described herein, without requiring intervention by a user. In alternative embodiments, a similar process may be used to determine such absolute angular offset while mobile structure 101 is held stationary at a known or static absolute orientation over a period of time, such as while moored securely to a dock.

It is contemplated that any one or combination of methods to provide auto-learning of relative positions of position sensors in a network of position sensors coupled to mobile structure 101, may be performed according to one or more operating contexts of a control loop, for example, such as a startup, learning, running, and/or other type operating context. For example, process 700 may proceed back to block 702 or 704 and proceed through process 700 again to produce updated relative position measurements and/or associated data, as in a control loop.

Embodiments of the present disclosure can thus provide accurate and reliable relative position measurements for a network of position sensors coupled to a mobile structure. Such embodiments may be used to provide sonar, radar, and/or other remote sensing imagery and/or data to assist in navigation of the mobile structure, survey of a body of water, and/or to assist in the operation of other systems, devices, and/or sensors coupled to the mobile structure.

Where applicable, various embodiments provided by the present disclosure can be implemented using hardware, software, or combinations of hardware and software. Also, where applicable, the various hardware components and/or software components set forth herein can be combined into composite components comprising software, hardware, and/or both without departing from the spirit of the present disclosure. Where applicable, the various hardware components and/or software components set forth herein can be separated into sub-components comprising software, hardware, or both without departing from the spirit of the present disclosure. In addition, where applicable, it is contemplated that software components can be implemented as hardware components, and vice-versa.

Software in accordance with the present disclosure, such as non-transitory instructions, program code, and/or data, can be stored on one or more non-transitory machine readable mediums. It is also contemplated that software identified herein can be implemented using one or more general purpose or specific purpose computers and/or computer systems, networked and/or otherwise. Where applicable, the ordering of various steps described herein can be changed, combined into composite steps, and/or separated into sub-steps to provide features described herein.

Embodiments described above illustrate but do not limit the invention. It should also be understood that numerous modifications and variations are possible in accordance with the principles of the invention. Accordingly, the scope of the invention is defined only by the following claims. 

What is claimed is:
 1. A system comprising: a logic device configured to communicate with first and second position sensors each coupled to a mobile structure at respective first and second locations, wherein the logic device is configured to: receive first and second position data corresponding to a position of the mobile structure from the respective first and second position sensors, wherein the first and second position sensors comprise respective first and second global navigation satellite system receivers, and wherein the first and second position data comprise respective first and second positions each of which corresponds to a position of the mobile structure; determine first and second weighting factors each indicative respectively of a reliability of the received first and second position data; and determine a measured position for the mobile structure based, at least in part, on the received first and second position data and the determined first and second weighting factors, wherein the first and second weighting factors provide greater weight to the more reliable of the first and second positions of the first and second position data; wherein the received first and second position data comprise respective first and second fix metadata provided by the respective first and second position sensors and each indicative respectively of the reliability of the first and second positions, and wherein the determining the first and second weighting factors comprises: determining the first weighting factor based, at least in part, on the first fix metadata; and determining the second weighting factor based, at least in part, on the second fix metadata.
 2. The system of claim 1, wherein: the first weighting factor is determined based, at least in part, on a dilution of precision of the first fix metadata; and the second weighting factor is determined based, at least in part, on a dilution of precision of the second fix metadata.
 3. The system of claim 1, wherein the determining the first and second weighting factors comprises: determining the first weighting factor based, at least in part, on one or more first extrinsic position data reliability metrics derived at least in part, from a first historical series of position data from the first position sensor; and determining the second weighting factor based, at least in part, on one or more second extrinsic position data reliability metrics derived, at least in part, from a second historical series of position data from the second position sensor.
 4. The system of claim 1, wherein the determining the first and second weighting factors comprises: detecting a position data excursion event in the first or second position data; and setting the first or second weighting factor corresponding to the detected position data excursion event to an excursion weight.
 5. The system of claim 1, wherein the logic device is configured to: receive one or more additional position data corresponding to the position of the mobile structure from respective one or more additional position sensors; determine one or more additional weighting factors corresponding respectively to the received one or more additional position data; and determine the measured position for the mobile structure based, at least in part, on the received first, second, and one or more additional position data and the determined first, second, and one or more additional weighting factors.
 6. The system of claim 1, wherein the logic device is configured to: negotiate first and second target measurement phases for the respective first and second position sensors, wherein the first and second target measurement phases are different from each other; receive first and second streams of position data from the respective first and second position sensors and measured according to the negotiated respective first and second target measurement phases, wherein each measured position within the first stream of position data is measured according to the first target measurement phase, and each measured position within the second stream of position data is measured according to the second target measurement phase; and determine a series of updated measured positions for the mobile structure based, at least in part, on the received first and second streams of position data, wherein an update rate corresponding to the series of updated measured positions is greater than a maximum measurement rate corresponding to the first or second position sensor.
 7. The system of claim 6, wherein the negotiating the first and second target measurement phases comprises: receiving first and second measurement rates corresponding respectively to the first and second position sensors; determining the first and second target measurement phases based, at least in part, on the respective first and second measurement rates, wherein a combined measurement rate corresponding to the first and second target measurement phases is greater than the first or second measurement rate; and controlling the first and second position sensors to perform position measurements according to the respective first and second target measurement phases.
 8. The system of claim 1, further comprising a user interface configured to communicate with the logic device, wherein: the first or second position sensor comprises a global navigation satellite system receiver that is integrated with the user interface; the first and/or second position sensor is disposed within a housing mounted to the mobile structure; and the housing encompasses one or more of an accelerometer, a gyroscope, a magnetometer, a float level, a compass, a radar sensor assembly, a sonar sensor assembly, and/or the user interface.
 9. The system of claim 1, wherein: the mobile structure comprises a watercraft; the second position sensor is rotationally coupled to the mobile structure; and the logic device is configured to receive the second position data from the second position sensor while the second position sensor is rotating relative to the mobile structure.
 10. The system of claim 1, wherein the logic device is configured to: generate a three dimensional (3D) model of the first and second position sensors based, at least in part, on an estimated relative position of the second position sensor relative to the first position sensor; determine a rotation correction for the 3D model based, at least in part, on a set of position measurements provided by the first and second position sensors; and determine an updated 3D model of the first and second position sensors, comprising an updated estimated relative position of the second position sensor relative to the first position sensor, based, at least in part, on the 3D model, the estimated relative position, and/or the determined rotation correction.
 11. The system of claim 1, wherein: the first weighting factor is determined based, at least in part, on a standard deviation of the first fix metadata; and the second weighting factor is determined based, at least in part, on a standard deviation of the second fix metadata.
 12. A method comprising: receiving first and second position data corresponding to a position of a mobile structure from respective first and second position sensors each coupled to the mobile structure at respective first and second locations, wherein the first and second position sensors comprise respective first and second global navigation satellite system receivers, and wherein the first and second position data comprise respective first and second positions each of which corresponds to a position of the mobile structure; determining first and second weighting factors each indicative respectively of a reliability of the received first and second position data; and determining a measured position for the mobile structure based, at least in part, on the received first and second position data and the determined first and second weighting factors, wherein the first and second weighting factors provide greater weight to the more reliable of the first and second positions of the first and second position data; wherein the received first and second position data comprise respective first and second fix metadata provided by the respective first and second position sensors and each indicative respectively of a reliability of the first and second positions, and wherein the determining the first and second weighting factors comprises: determining the first weighting factor based, at least in part, on the first fix metadata; and determining the second weighting factor based, at least in part, on the second fix metadata.
 13. The method of claim 12, wherein: the first weighting factor is determined based, at least in part, on a dilution precision of the first fix metadata; and the second weighting factor is determined based, at least in part, on a dilution precision of the second fix metadata.
 14. The method of claim 12, wherein the determining the first and second weighting factors comprises: determining the first weighting factor based, at least in part, on one or more first extrinsic position data reliability metrics derived, at least in part, from a first historical series of position data from the first position sensor; and determining the second weighting factor based, at least in part, on one or more second extrinsic position data reliability metrics derived, at least in part, from a second historical series of position data from the second position sensor.
 15. The method of claim 12, wherein the determining the first and second weighting factors comprises: detecting a position data excursion event in the first or second position data; and setting the first or second weighting factor corresponding to the detected position data excursion event to an excursion weight.
 16. The method of claim 12, further comprising: receiving one or more additional position data corresponding to the position of the mobile structure from respective one or more additional position sensors; determining one or more additional weighting factors corresponding respectively to the received one or more additional position data; and determining the measured position for the mobile structure based, at least in part, on the received first, second, and one or more additional position data and the determined first, second, and one or more additional weighting factors.
 17. The method of claim 12, wherein the second position sensor is rotationally coupled to the mobile structure, the method further comprising: receiving the second position data from the second position sensor while the second position sensor is rotating relative to the mobile structure.
 18. The method of claim 12, further comprising: generating a three dimensional (3D) model of the first and second position sensors based, at least in part, on an estimated relative position of the second position sensor relative to the first position sensor; determining a rotation correction for the 3D model based, at least in part, on a set of position measurements provided by the first and second position sensors; and determining an updated 3D model of the first and second position sensors, comprising an updated estimated relative position of the second position sensor relative to the first position sensor, based, at least in part, on the 3D model, the estimated relative position, and/or the determined rotation correction.
 19. A method comprising: negotiating first and second target measurement phases for respective first and second position sensors each coupled to a mobile structure at respective first and second locations, wherein the first and second target measurement phases are different from each other; receiving first and second streams of position data from the respective first and second position sensors and measured according to the negotiated respective first and second target measurement phases; and determining a series of updated measured positions for the mobile structure based, at least in part, on the received first and second streams of position data, wherein an update rate corresponding to the series of updated measured positions is greater than a maximum measurement rate corresponding to the first or second position sensor; wherein the negotiating comprises: receiving by a logic device first and second measurement rates corresponding respectively to the first and second position sensors; determining by the logic device the first and second target measurement phases based, at least in part, on the respective first and second measurement rates, wherein a combined measurement rate corresponding to the first and second target measurement phases is greater than the first or second measurement rate; and controlling the first and second position sensors to perform position measurements according to the respective first and second target measurement phases.
 20. The method of claim 19, wherein: the logic device receives the first and second measurement rates from the first and second position sensors respectively; the first or second position sensor comprises a global navigation satellite system sensor/receiver that is integrated with a user interface, the method further comprising: rendering a navigational chart on a display of the user interface, wherein the navigational chart comprises an indicator icon configured to indicate an absolute position of the mobile structure on the navigational chart corresponding to the determined measured position of the mobile structure. 